OFFSET
1,2
COMMENTS
PROG
(PARI)
A354920(n) = forstep(x=n-1, 0, -1, if(!((x*(x-1))%n), return(x%2)));
isA354922(n) = !A354920(n);
(Python 3.8+)
from itertools import combinations, islice, count
from math import prod
from sympy import factorint
from sympy.ntheory.modular import crt
def A354922_gen(startvalue=1): # generator of terms >= startvalue
if startvalue <= 1:
yield 1
for n in count(max(startvalue, 2)):
plist = tuple(p**q for p, q in factorint(n).items())
if len(plist) != 1 and not (n-int(min(min(crt((m, n//m), (0, -1))[0], crt((n//m, m), (0, -1))[0]) for m in (prod(d) for l in range(1, len(plist)//2+1) for d in combinations(plist, l))))) & 1:
yield n
CROSSREFS
KEYWORD
nonn
AUTHOR
Antti Karttunen, Jun 12 2022
STATUS
approved