login
A340132
Least prime numbers, in ascending order, such that each of them can be written, in a unique way, in the form x^2 + h*y^2, where x, y are natural numbers, while h takes all the values of the sequence A000926 (idoneal numbers).
1
1083289, 3818929, 6104641, 6868801, 7623529, 8465209, 9033649, 10105489, 11400481, 11597569, 11809561, 12338041, 12348961, 13154761, 13426009, 15861169, 16889161, 16922161, 18596449, 19684729, 20322481, 21067201, 21480001, 22684561, 23654569, 24531049
OFFSET
1,1
COMMENTS
First number in this sequence is equal to last number of sequence A338088.
The sequence is obtained using Lista(m), with m=246*10^5, see section PROG. It's possible to increase m to discover more terms of the sequence.
EXAMPLE
1083289 = 315^2 + A000926(1)*992^2
= 1033^2 + A000926(2)*90^2
= 979^2 + A000926(3)*204^2
= ...
= 817^2 + A000926(65)*15^2.
PROG
(PARI) Idoneal()={return(select(m->!#select(k->k<>2, quadclassunit(-4*m).cyc), [1..1848])); }
isok(p, u)={my (i, s, n=matsize(u)[2], t=0); for(i=1, n, s=kronecker(-u[i], p); if(s==1, t++, break)); if(t==n, t=0; for(i=1, n, s=qfbsolve(Qfb(1, 0, u[i]), p); if(s==[], break, t++))); if(t==n, 1, 0)}
Primo(p, m)={my(u=Idoneal()); while(p<m, p=nextprime(p+1); if(isok(p, u), return(p))); return(0)}
Lista(m)={ my (q, r=108*10^4, v=[]); q=nextprime(r); m=precprime(m); while(q<m, r=q; q=Primo(r, m); if(q>r, v=concat(v, q), q=m)); return(v); }
CROSSREFS
Sequence in context: A236449 A352110 A253467 * A340405 A258704 A224592
KEYWORD
nonn
AUTHOR
Marco Frigerio, Dec 29 2020
STATUS
approved