R = PolynomialRing(QQ, 16, 'a1,a2,b1,b2,c1,c2,d1,d2,e1,e2,f1,f2,g1,g2,z1,z2', order='lp')
a1,a2,b1,b2,c1,c2,d1,d2,e1,e2,f1,f2,g1,g2,z1,z2=R.gens()
I=(b1*c2-d1*c2-b2*c1+d2*c1+d1*b2-d2*b1,e1*c2-a1*c2-e2*c1+a2*c1+a1*e2-a2*e1,b1*f2-a1*f2-b2*f1+a2*f1+a1*b2-a2*b1,d1*g2-a1*g2-d2*g1+a2*g1+a1*d2-a2*d1,b1*g2-e1*g2-b2*g1+e2*g1+e1*b2-e2*b1,g1*c2-f1*c2-g2*c1+f2*c1+f1*g2-f2*g1,z1*(b1*c2-a1*c2-b2*c1+a2*c1+a1*b2-a2*b1)-1,z2*(((a1-f1)^2+(a2-f2)^2)*((b1-d1)^2+(b2-d2)^2)*((c1-e1)^2+(c2-e2)^2)-((f1-b1)^2+(f2-b2)^2)*((d1-c1)^2+(d2-c2)^2)*((e1-a1)^2+(e2-a2)^2))-1,a1,a2,b1,b2-1)*R
B=I.groebner_basis(); B