login
a(n) = smallest nontrivial (>1) palindrome == 1 (mod n).
2

%I #14 Dec 03 2023 10:02:30

%S 3,4,5,6,7,8,9,55,11,111,121,66,99,121,33,171,55,77,101,22,111,323,

%T 121,101,131,55,141,88,121,373,33,232,171,141,181,1111,77,313,121,575,

%U 505,44,353,181,323,424,1441,99,101,868,313,10601,55,111,393,343,929,414

%N a(n) = smallest nontrivial (>1) palindrome == 1 (mod n).

%H Robert Israel, <a href="/A077528/b077528.txt">Table of n, a(n) for n = 2..10000</a>

%p f:= proc(n) local d, S,j,q,x0,t,r,x;

%p for d from 2 do

%p S[ceil(d/2)+1]:= {0}:

%p for j from ceil(d/2) to 1 by -1 do

%p if j = (d+1)/2 then q:= 10^(j-1)

%p else q:= 10^(j-1)+10^(d-j)

%p fi;

%p if j = 1 then x0:= 1 else x0:= 0 fi;

%p S[j]:= {seq(seq(x*q+s mod n, x=x0..9), s=S[j+1])};

%p od;

%p if member(1, S[1]) then

%p t:= 1; r:= 0;

%p for j from 1 to ceil(d/2) do

%p if j = (d+1)/2 then q:= 10^(j-1) else q:= 10^(j-1)+10^(d-j) fi;

%p if j = 1 then x0:= 1 else x0:= 0 fi;

%p for x from x0 to 9 do

%p if member(t - x*q mod n, S[j+1]) then

%p r:= r + x*q;

%p t:= t - x*q mod n;

%p break

%p fi

%p od;

%p od;

%p return r

%p fi

%p od

%p end proc:

%p $3..9, seq(f(n),n=9..100); # _Robert Israel_, Dec 17 2019

%t With[{pals=Select[Range[2,11000],PalindromeQ]},Table[SelectFirst[pals,Mod[#,n]==1&],{n,2,60}]] (* _Harvey P. Dale_, Dec 03 2023 *)

%Y Cf. A002113.

%K base,nonn,look

%O 2,1

%A _Amarnath Murthy_, Nov 08 2002

%E Corrected and extended by _Ray Chandler_, Aug 20 2003