present = 0 \\ mask of terms already present ok(x,y,z) = my (xyz=x*y*z); \ if (xyz==0, return (1), \ (xyz % (x^2))==0, return (1), \ (xyz % (y^2))==0, return (1), \ (xyz % (z^2))==0, return (1), \ return (0)) other(x,y) = my (z=1); \ while (bittest(present,z)>0 || !ok(x,y,z), z++); \ present += 2^z; \ return (z) x=0; y=0; for (n=1, 10 000, z=other(x,y); print (n " " z); x=y; y=z) quit