OFFSET
1,2
COMMENTS
EXAMPLE
The 10th number coprime to 120 is 37. a(10) is 13, because 13 is the smallest prime by which we can multiply 37, so that the product (37*13 = 481) is a square mod 8, mod 3 and mod 5.
PROG
(PARI)
QresCode(n, nPrimes) = {
code = bitand(n, 7)>>1;
for (j=2, nPrimes,
x = Mod(n, prime(j));
if (issquare(x), code += (1<<j));
);
return (code);
}
QCodeArray(n) = {
totalEntries = 1<<(n+1);
f = vector(totalEntries);
f[totalEntries-3] = 1; \\ 1 always has the same code: ...111100
counter = 1;
forprime(p=prime(n+1), +oo,
code = QresCode(p, n);
if (f[code+1]==0,
f[code+1]=p;
counter += 1;
if (counter==totalEntries, return(f));
)
)
}
sequence(n) = {
f = QCodeArray(n);
primorial = prod(i=1, n, prime(i));
entries = eulerphi(4*primorial);
a = vector(entries);
i = 1;
forstep (x=1, 4*primorial-1, 2,
if (gcd(x, primorial)==1,
a[i] = f[QresCode(x, n)+1];
i += 1;
);
);
return(a);
}
sequence(3)
CROSSREFS
KEYWORD
nonn,fini,full
AUTHOR
Hans Ruegg, Dec 01 2018
STATUS
approved