%I #14 Dec 23 2024 14:53:42
%S 18528729602926047181,18528729602926100221,18528729602926108411,
%T 18528729602926112701,18528729602926116331,18528729602926234591,
%U 18528729602926235071,18528729602927029471,18528729602927225551
%N Base-16 pandigital primes.
%C Base-16 (a.k.a. hexadecimal, sexadecimal, senidenary or hexadecadic) pandigital primes must have at least 17 hexadecimal digits (i.e. they are larger than 16^16 = 2^64 > 10^19), since sum(d_i 16^i) = sum(d_i) (mod 15), and 0+1+...+14+15 is divisible by 15. So the smallest ones should be of the form "101234567...." in base 16, where "...." is a permutation of "89ABCDEF".
%C The same reasoning shows that numbers of this form ("1012...") are congruent to 1 modulo 15 and thus modulo 30 (since also = 1 [mod 2]). This explains that all terms < 2*16^16 end in the (decimal!) digit 1.
%C a(n) == 1 (mod 30) for a(n) < 2^65 = 3.69*10^19.
%H Alonso Del Arte, <a href="http://oeis.org/wiki/Classifications_of_prime_numbers#By_representation_in_specific_bases">Classifications of prime numbers - By representation in specific bases</a>, OEIS Wiki as of Mar 19 2010.
%H M. F. Hasler, <a href="https://web.archive.org/web/*/http://list.seqfan.eu/oldermail/seqfan/2010-March/004070.html">Reply to A. Del Arte's post "Pandigital primes in bases 8,12,..." on the SeqFan list</a>, Mar 19 2010.
%H Wikipedia, <a href="http://en.wikipedia.org/wiki/Hexadecimal#Etymology">Hexadecimal: Etymology</a>; <a href="http://en.wikipedia.org/wiki/Pandigital">Pandigital</a>.
%o (PARI) pdp( b=16/*base*/, c=99/* # of terms to produce */) = { my(t, a=[], bp=vector(b,i,b^(b-i))~, offset=b*(b^b-1)/(b-1)); for( i=1,b-1, offset+=b^b; for( j=0,b!-1, isprime(t=offset-numtoperm(b,j)*bp) | next; #(a=concat(a,t))<c | return(vecsort(a))))} /* NOTE: Due to the implementation of numtoperm, the returned list may be incomplete towards its end. Thus computation of more than the required # of terms is recommended. [The initial digits of the base-16 expansion of the terms allow one to know up to where it is complete.] You may use a construct of the form: vecextract(pdp(16,999),"1..20")) */
%Y Cf. A138837, A050288, A175271 - A175280.
%K nonn,base
%O 1,1
%A _M. F. Hasler_, May 27 2010
%E Edited by _Charles R Greathouse IV_, Aug 02 2010