{ BOUND = [10^3, 1]; \\ look for integers |x| <= 10^3 S = [10]; forvec(v = vector(1, i, [1,10^6]), my([c] = v, z1, DD, EE, FF, PP); for(b = -300, 300, for (l=1, #S, k=S[l]; u = -floor(b*k^(1/3)+c*k^(2/3)); for (a = u-20, u+100, for (m = 0, 1, t = (-1)^m*(a^3+k*b^3+k^2*c^3-3*k*a*b*c); if (gcd(t,a^2-k*b*c) != 1, next); z1 = -(k*b^2-k*a*c) / (a^2-k*b*c) % t; DD = ((z1+t*s)*(a^2-k*b*c)+(k*b^2-k*a*c)) / t; EE = ((z1+t*s)*(k*c^2-a*b)+(a^2-k*b*c)) / t; FF = ((z1+t*s)*(b^2-a*c)+(k*c^2-a*b)) / t; PP = DD^3+k*EE^3+k^2*FF^3-3*k*DD*EE*FF; for (j = 1, 2, L = hyperellratpoints(12*gcd(t,j)*PP - 3*(t/gcd(t,j))^2, BOUND); for (k = 1, #L, my([i,AA1] = L[k], [Y,r] = divrem((sign(AA1)*AA1) - 3*(t/gcd(t,j)), 6)); if (r, next); X = Y + (t/gcd(t,j)); Z = z1 + i*t; print([X,Y,Z,a,b,c]); ) ) ) ) ) ) ) }