login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A367871
a(n) is the least prime q such that A367798(n)^2 is the sum of q and its reversal.
2
2, 29, 20147, 261104399, 20870609999, 2059108419947, 2080783998959, 200000140570007, 206841324099959, 261359249999999, 20401390509044927, 20421109564999967, 20000105691609287, 27180442947919997, 20105039549690939, 22040085159209699, 24000605788991999, 2008220921060899607, 2008804724799599927
OFFSET
1,1
COMMENTS
a(n) is the first term q of A367796 such that A056964(q) = A367798(n)^2.
FORMULA
A056964(a(n)) = A367798(n)^2.
EXAMPLE
a(4) = 261104399 because A367798(3) = 35419 and 35419^2 = 1254505561 = 261104399 + 993401162 and 261104399 is the first prime that works.
MAPLE
f:= proc(n) local y, c, d, dp, i, delta, m;
y:= convert(n^2, base, 10);
d:= nops(y);
if d::even then
if y[-1] <> 1 then return false fi;
dp:= d-1;
y:= y[1..-2];
c[dp]:= 1;
else
dp:= d;
c[dp]:= 0;
fi;
c[0]:= 0;
for i from 1 to floor(dp/2) do
delta:= y[i] - y[dp+1-i] - c[i-1] - 10*c[dp+1-i];
if delta = 0 then c[dp-i]:= 0; c[i]:= 0;
elif delta = -1 then c[dp-i]:= 1; c[i]:= 0;
elif delta = -10 then c[dp-i]:= 0 ; c[i]:= 1;
elif delta = -11 then c[dp-i]:= 1; c[i]:= 1;
else return false
fi;
if y[i] + 10*c[i] - c[i-1] < 0 or (i=1 and y[i]+10*c[i]-c[i-1]=1) then return false fi;
od;
m:= (dp+1)/2;
delta:= y[m] + 10*c[m] - c[m-1];
if not member(delta, [seq(i, i=0..18, 2)]) then return false fi;
[seq(y[i]+ 10*c[i]-c[i-1], i=1..m)]
end proc:
g:= proc(L) local T, d, t, p, x, i; uses combinat;
d:= nops(L);
T:= cartprod([select(t -> t[1]::odd, [seq([L[1]-x, x], x=max(1, L[1]-9)..min(L[1], 9))]),
seq([seq([L[i]-x, x], x=max(0, L[i]-9)..min(9, L[i]))], i=2..d-1)]);
while not T[finished] do
t:= T[nextvalue]();
p:= add(t[i][1]*10^(i-1), i=1..d-1) + L[-1]/2 * 10^(d-1) +
add(t[i][2]*10^(2*d-i-1), i=1..d-1);
if isprime(p) then return p fi;
od;
-1
end proc:
p:= 11: Q:=29:
while p < 10^8 do
p:= nextprime(p);
d:= 1+ilog10(p^2);
if d::even and p^2 >= 2*10^(d-1) then p:= nextprime(floor(10^(d/2))); fi;
v:= f(p);
if v = false then next fi;
q:= g(v);
if q = -1 then next fi;
Q:= Q, q;
od:
Q;
CROSSREFS
KEYWORD
nonn,base
AUTHOR
Robert Israel, Dec 03 2023
STATUS
approved