1 | initial version |
Since your equations are polynomial, it may be worth to work with polynomial ideals instead of symbolic equations. Here is a translation of your first code into these settings:
R.<x,y,p,a,A,b,B,c,z,Z,w,W,N,v,V> = PolynomialRing(QQ)
eq0 = N -27
eq1 = (2*(3*x+1)-3*(a)+1)/24+3/2*x*(x+1) - A
eq2 = A+b*(b-1)/2 - (2*x*(x+1))
eq3 = (2*(3*(A)+1)-3*(b)+1)/24+3/2*x*(x+1) - B
eq4 = B+c*(c-1)/2 - (2*x*(x+1))
eq5 = (2*(3*(B)+1)-3*(c)+1)/24+3/2*x*(x+1) - (2*x*(x+1))
eq6 = a-(2*x+1)
eq7 = (2*(3*(N-3)/8+1)-3*(z)+1)/24+3/2*x*(x+1) -((N-3)/8+Z)
eq8 = (N-3)/8+z*(z-1)/2 - (2*x*(x+1))
eq9 = (2*(3*((N-3)/8+Z)+1)-3*(w)+1)/24+3/2*x*(x+1) -((N-3)/8+Z+W)
eq10 = (N-3)/8+Z+w*(w-1)/2 - (2*x*(x+1))
eq11 = (2*(3*((N-3)/8+Z+W)+1)-3*(v)+1)/24+3/2*x*(x+1) -((N-3)/8+Z+W+V)
eq12 = (N-3)/8+Z+W+v*(v-1)/2 - (2*x*(x+1))
eq13 = (N-3)/8+Z+W+V - (2*x*(x+1))
eq14 = (N-3)/8+y*(y-1)/2 - 2*x*(x+1)
eq15 = 4*x+1-2*(y-1)-p
J = R.ideal([eq0,eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9,eq10,eq11,eq12,eq13,eq14,eq15])
sol = J.variety()
print(sol)