\\ Computes the first N elements in the sequence.
\\ At least the first 10000 are correct.
N=100;
\\computes the multiplicative subgroup generated
\\by the elements of the vector L modulo m.
SGR(L,m)={S=[1];for(l=1,length(L),z=znorder(Mod(L[l],m));T=[1];for(t=1,z,s=lift(Mod(L[l],m)^t);if(setsearch(S,s),break,T=concat(T,s);));for(t=1,length(T),S=Set(concat(S,lift(S*Mod(T[t],m))))));S}
m1=205910575871; L1= SGR([2,3],m1); M1 = SGR([5],m1);
m2=220411358713; L2= SGR([2,5],m2); M2 = SGR([3],m2);
m3= 3019333681; L3= SGR([3,5],m3); M3 = SGR([2],m3);
chkdif(k)={r=1;
D=1;while(gcd(k/D,30)>1,D*=gcd(k/D,30));
fordiv(D,d,
if(vecmax(factor(k/d+1)[,1])<= 5 ,r=0);
if(r,for(t=1,length(M1),
if(setsearch(L1,(M1[t]+k/d)%m1),r=0;break)));
if(r,for(t=1,length(M2),
if(setsearch(L2,(M2[t]+k/d)%m2),r=0;break)));
if(r,for(t=1,length(M3),
if(setsearch(L3,(M3[t]+k/d)%m3),r=0;break)));
if(r,for(t=1,length(M1),
if(setsearch(L1,(M1[t]-k/d)%m1),r=0;break)));
if(r,for(t=1,length(M2),
if(setsearch(L2,(M2[t]-k/d)%m2),r=0;break)));
if(r,for(t=1,length(M3),
if(setsearch(L3,(M3[t]-k/d)%m3),r=0;break)));
if(r==0, break)
);
r
}
for(k=1,m3,if(chkdif(k),print1(k,", ");if(N--==0, break))); print();
Comments