Plotting an Elliptic Curve over QQ

{{{id=1| E = EllipticCurve([-5,4]) E /// Elliptic Curve defined by y^2 = x^3 - 5*x + 4 over Rational Field }}} {{{id=2| plot(E) /// }}} {{{id=3| plot(E, thickness=3, color='red') /// }}}

Plotting an Elliptic Curve over a Finite Fields

{{{id=4| @interact def f(p=primes(3,100)): try: E = EllipticCurve(GF(p), [1,0]) show(E) show(E.plot(pointsize=45), gridlines=True) except Exception, msg: print "Not an elliptic curve!", msg ///
}}} {{{id=6| /// }}}

The Group Law

{{{id=11| E = EllipticCurve([-5,4]); show(E) ///
\newcommand{\Bold}[1]{\mathbf{#1}}y^2 = x^3 - 5x + 4
}}}

Not every point is on the curve:

{{{id=12| E([3,2]) /// Traceback (most recent call last): File "", line 1, in File "_sage_input_34.py", line 9, in exec compile(ur'open("___code___.py","w").write("# -*- coding: utf-8 -*-\n" + _support_.preparse_worksheet_cell(base64.b64decode("RShbMywyXSk="),globals())+"\n"); execfile(os.path.abspath("___code___.py"))' + '\n', '', 'single') File "", line 1, in File "/private/tmp/tmp4RKi1G/___code___.py", line 3, in exec compile(ur'E([_sage_const_3 ,_sage_const_2 ])' + '\n', '', 'single') File "", line 1, in File "/Users/wstein/sage/build/sage/local/lib/python2.6/site-packages/sage/schemes/elliptic_curves/ell_generic.py", line 600, in __call__ return plane_curve.ProjectiveCurve_generic.__call__(self, *args, **kwds) File "/Users/wstein/sage/build/sage/local/lib/python2.6/site-packages/sage/schemes/generic/scheme.py", line 222, in __call__ return self.point(args) File "/Users/wstein/sage/build/sage/local/lib/python2.6/site-packages/sage/schemes/generic/scheme.py", line 256, in point return self._point_class(self, v, check=check) File "/Users/wstein/sage/build/sage/local/lib/python2.6/site-packages/sage/schemes/elliptic_curves/ell_point.py", line 286, in __init__ raise TypeError, "Coordinates %s do not define a point on %s"%(list(v),curve) TypeError: Coordinates [3, 2, 1] do not define a point on Elliptic Curve defined by y^2 = x^3 - 5*x + 4 over Rational Field }}} {{{id=5| P = E([1,0]); Q = E([0,2]) P + Q /// (3 : 4 : 1) }}} {{{id=10| P + P /// (0 : 1 : 0) }}} {{{id=15| P + 4*Q /// (350497/351649 : 16920528/208527857 : 1) }}} {{{id=16| 20*Q /// (4688880443920936737512246936136106073272728605459160007860147739985187502035773990594830956756683572918773806743250781363142527084796595425/191383231384062277266268392423246241090128618344354810435040532631637590081888547965117393220156955920546424058846226426549226168429279296 : 10112229121757434123714048542659443664960393568384390953347480484469315905529548671352230790049906817008651162867212123482273559978583248916191436846670076047774410063678788158158502540060019615372393019958063/83725128862462841148291830576458952739669988663733805223811948941207774361755621288662235180489264585864670081460867532314425656237697340574134137711036698290818116902388617953454414000598907246372647558656 : 1) }}}

Computer Verification of Associativity of the Group Law

{{{id=22| R. = QQ[]; R /// Multivariate Polynomial Ring in x1, y1, x2, y2, x3, y3, a, b over Rational Field }}} {{{id=21| rels = [y1^2 - (x1^3 + a*x1 + b), y2^2 - (x2^3 + a*x2 + b), y3^2 - (x3^3 + a*x3 + b)] /// }}} {{{id=19| def op(P1, P2): x1,y1 = P1; x2,y2 = P2 lam = (y1 - y2)/(x1 - x2); nu = y1 - lam*x1 x3 = lam^2 - x1 - x2; y3 = -lam*x3 - nu return (x3, y3) /// }}}

We define three generic points, then add them using both ways of associating.

{{{id=23| P1 = (x1,y1); P2 = (x2,y2); P3 = (x3,y3) Z = op(P1, op(P2,P3)); W = op(op(P1,P2),P3) /// }}}

Unfortunately, these points have coordinates that are just polynomials, so, e.g., the relationship $y_1^2 = x_1^3 + ax_1 + b$ simply isn't taken into account.  Thus $Z\neq W$.  To take into the extra relationship between the $x_i$ and $y_i$, we create a quotient ring.  This is just like how the integers modulo $n$ is a quotient ring, which takes into account the relation "$n = 0$".

A Polynomial Quotient Ring:

We thus form the quotient polynomial ring with variables $x_i, y_i, a, b$, where $y_i^2 = x_i^3 +ax_i + b$.  You can think of this as a ring that contains three generic points on the elliptic curve.

{{{id=31| Q = R.quotient(rels) show(Q) ///
\newcommand{\Bold}[1]{\mathbf{#1}}\Bold{Q}[x_{1}, y_{1}, x_{2}, y_{2}, x_{3}, y_{3}, a, b]/\left(- x_{1}^{3} + y_{1}^{2} - x_{1} a - b, - x_{2}^{3} + y_{2}^{2} - x_{2} a - b, - x_{3}^{3} + y_{3}^{2} - x_{3} a - b\right)\Bold{Q}[x_{1}, y_{1}, x_{2}, y_{2}, x_{3}, y_{3}, a, b]
}}}

We then verify that the two points $(P_1 + P_2)+P_3$ and $P_1 + (P_2 + P_3)$ are equal, modulo the relations, hence proving the associative law.

The massive polynomial $f$ below is $0$ in the quotient ring precisely if the $x$-coordinates of the two points are equal, modulo the relations.

{{{id=37| f = Z[0].numerator()*W[0].denominator() - Z[0].denominator()*W[0].numerator(); f /// -2*x1^9*x2^4 + 8*x1^7*x2^6 - 12*x1^5*x2^8 + 8*x1^3*x2^10 - 2*x1*x2^12 + 8*x1^9*x2^3*x3 - 6*x1^8*x2^4*x3 - 24*x1^7*x2^5*x3 + 16*x1^6*x2^6*x3 + 24*x1^5*x2^7*x3 - 12*x1^4*x2^8*x3 - 8*x1^3*x2^9*x3 + 2*x2^12*x3 - 12*x1^9*x2^2*x3^2 + 24*x1^8*x2^3*x3^2 + 12*x1^7*x2^4*x3^2 - 48*x1^6*x2^5*x3^2 + 12*x1^5*x2^6*x3^2 + 24*x1^4*x2^7*x3^2 - 12*x1^3*x2^8*x3^2 + 8*x1^9*x2*x3^3 - 36*x1^8*x2^2*x3^3 + 32*x1^7*x2^3*x3^3 + 36*x1^6*x2^4*x3^3 - 48*x1^5*x2^5*x3^3 - 4*x1^4*x2^6*x3^3 + 12*x1^2*x2^8*x3^3 + 8*x1*x2^9*x3^3 - 8*x2^10*x3^3 - 2*x1^9*x3^4 + 24*x1^8*x2*x3^4 - 48*x1^7*x2^2*x3^4 + 16*x1^6*x2^3*x3^4 + 18*x1^5*x2^4*x3^4 + 4*x1^3*x2^6*x3^4 - 24*x1^2*x2^7*x3^4 + 12*x1*x2^8*x3^4 - 6*x1^8*x3^5 + 24*x1^7*x2*x3^5 - 24*x1^6*x2^2*x3^5 - 18*x1^4*x2^4*x3^5 + 48*x1^3*x2^5*x3^5 - 12*x1^2*x2^6*x3^5 - 24*x1*x2^7*x3^5 + 12*x2^8*x3^5 - 4*x1^7*x3^6 + 24*x1^5*x2^2*x3^6 - 16*x1^4*x2^3*x3^6 - 36*x1^3*x2^4*x3^6 + 48*x1^2*x2^5*x3^6 - 16*x1*x2^6*x3^6 + 4*x1^6*x3^7 - 24*x1^5*x2*x3^7 + 48*x1^4*x2^2*x3^7 - 32*x1^3*x2^3*x3^7 - 12*x1^2*x2^4*x3^7 + 24*x1*x2^5*x3^7 - 8*x2^6*x3^7 + 6*x1^5*x3^8 - 24*x1^4*x2*x3^8 + 36*x1^3*x2^2*x3^8 - 24*x1^2*x2^3*x3^8 + 6*x1*x2^4*x3^8 + 2*x1^4*x3^9 - 8*x1^3*x2*x3^9 + 12*x1^2*x2^2*x3^9 - 8*x1*x2^3*x3^9 + 2*x2^4*x3^9 + 5*x1^6*y1^2*x2^4 - 12*x1^4*y1^2*x2^6 + 9*x1^2*y1^2*x2^8 - 2*y1^2*x2^10 - 8*x1^6*y1*x2^4*y2 + 2*x1^5*y1*x2^5*y2 + 16*x1^4*y1*x2^6*y2 - 4*x1^3*y1*x2^7*y2 - 8*x1^2*y1*x2^8*y2 + 2*x1*y1*x2^9*y2 + 3*x1^8*x2^2*y2^2 - 4*x1^7*x2^3*y2^2 - 6*x1^6*x2^4*y2^2 + 12*x1^5*x2^5*y2^2 + 3*x1^4*x2^6*y2^2 - 12*x1^3*x2^7*y2^2 + 4*x1*x2^9*y2^2 - 20*x1^6*y1^2*x2^3*x3 + 12*x1^5*y1^2*x2^4*x3 + 36*x1^4*y1^2*x2^5*x3 - 18*x1^3*y1^2*x2^6*x3 - 18*x1^2*y1^2*x2^7*x3 + 6*x1*y1^2*x2^8*x3 + 2*y1^2*x2^9*x3 + 26*x1^6*y1*x2^3*y2*x3 - 16*x1^5*y1*x2^4*y2*x3 - 34*x1^4*y1*x2^5*y2*x3 + 12*x1^3*y1*x2^6*y2*x3 + 10*x1^2*y1*x2^7*y2*x3 + 4*x1*y1*x2^8*y2*x3 - 2*y1*x2^9*y2*x3 - 6*x1^8*x2*y2^2*x3 + 12*x1^7*x2^2*y2^2*x3 - 2*x1^6*x2^3*y2^2*x3 - 18*x1^5*x2^4*y2^2*x3 + 12*x1^4*x2^5*y2^2*x3 + 6*x1^3*x2^6*y2^2*x3 - 4*x2^9*y2^2*x3 + 30*x1^6*y1^2*x2^2*x3^2 - 48*x1^5*y1^2*x2^3*x3^2 - 18*x1^4*y1^2*x2^4*x3^2 + 54*x1^3*y1^2*x2^5*x3^2 - 9*x1^2*y1^2*x2^6*x3^2 - 12*x1*y1^2*x2^7*x3^2 + 3*y1^2*x2^8*x3^2 - 30*x1^6*y1*x2^2*y2*x3^2 + 44*x1^5*y1*x2^3*y2*x3^2 + 8*x1^4*y1*x2^4*y2*x3^2 - 22*x1^3*y1*x2^5*y2*x3^2 - 2*x1^2*y1*x2^6*y2*x3^2 - 2*x1*y1*x2^7*y2*x3^2 + 4*y1*x2^8*y2*x3^2 + 3*x1^8*y2^2*x3^2 - 12*x1^7*x2*y2^2*x3^2 + 21*x1^6*x2^2*y2^2*x3^2 - 6*x1^5*x2^3*y2^2*x3^2 - 18*x1^4*x2^4*y2^2*x3^2 + 12*x1^3*x2^5*y2^2*x3^2 - 20*x1^6*y1^2*x2*x3^3 + 72*x1^5*y1^2*x2^2*x3^3 - 48*x1^4*y1^2*x2^3*x3^3 - 40*x1^3*y1^2*x2^4*x3^3 + 36*x1^2*y1^2*x2^5*x3^3 + 14*x1^6*y1*x2*y2*x3^3 - 56*x1^5*y1*x2^2*y2*x3^3 + 24*x1^4*y1*x2^3*y2*x3^3 + 32*x1^3*y1*x2^4*y2*x3^3 + 14*x1^2*y1*x2^5*y2*x3^3 - 24*x1*y1*x2^6*y2*x3^3 - 4*y1*x2^7*y2*x3^3 + 4*x1^7*y2^2*x3^3 - 12*x1^6*x2*y2^2*x3^3 + 18*x1^5*x2^2*y2^2*x3^3 - 4*x1^4*x2^3*y2^2*x3^3 - 12*x1^2*x2^5*y2^2*x3^3 - 6*x1*x2^6*y2^2*x3^3 + 12*x2^7*y2^2*x3^3 + 5*x1^6*y1^2*x3^4 - 48*x1^5*y1^2*x2*x3^4 + 72*x1^4*y1^2*x2^2*x3^4 - 20*x1^3*y1^2*x2^3*x3^4 - 12*x1^2*y1^2*x2^4*x3^4 + 6*x1*y1^2*x2^5*x3^4 - 3*y1^2*x2^6*x3^4 - 2*x1^6*y1*y2*x3^4 + 34*x1^5*y1*x2*y2*x3^4 - 20*x1^4*y1*x2^2*y2*x3^4 - 32*x1^3*y1*x2^3*y2*x3^4 - 4*x1^2*y1*x2^4*y2*x3^4 + 26*x1*y1*x2^5*y2*x3^4 - 2*y1*x2^6*y2*x3^4 - x1^6*y2^2*x3^4 - 6*x1^5*x2*y2^2*x3^4 + 4*x1^3*x2^3*y2^2*x3^4 + 18*x1^2*x2^4*y2^2*x3^4 - 12*x1*x2^5*y2^2*x3^4 - 3*x2^6*y2^2*x3^4 + 12*x1^5*y1^2*x3^5 - 36*x1^4*y1^2*x2*x3^5 + 30*x1^3*y1^2*x2^2*x3^5 - 6*x1^2*y1^2*x2^3*x3^5 + 6*x1*y1^2*x2^4*x3^5 - 6*y1^2*x2^5*x3^5 - 8*x1^5*y1*y2*x3^5 + 10*x1^4*y1*x2*y2*x3^5 + 28*x1^3*y1*x2^2*y2*x3^5 - 40*x1^2*y1*x2^3*y2*x3^5 - 4*x1*y1*x2^4*y2*x3^5 + 14*y1*x2^5*y2*x3^5 + 6*x1^4*x2*y2^2*x3^5 - 18*x1^3*x2^2*y2^2*x3^5 + 6*x1^2*x2^3*y2^2*x3^5 + 18*x1*x2^4*y2^2*x3^5 - 12*x2^5*y2^2*x3^5 + 6*x1^4*y1^2*x3^6 - 2*x1^3*y1^2*x2*x3^6 - 9*x1^2*y1^2*x2^2*x3^6 + 5*y1^2*x2^4*x3^6 - 4*x1^4*y1*y2*x3^6 - 22*x1^3*y1*x2*y2*x3^6 + 48*x1^2*y1*x2^2*y2*x3^6 - 14*x1*y1*x2^3*y2*x3^6 - 8*y1*x2^4*y2*x3^6 + x1^4*y2^2*x3^6 + 12*x1^3*x2*y2^2*x3^6 - 21*x1^2*x2^2*y2^2*x3^6 + 2*x1*x2^3*y2^2*x3^6 + 6*x2^4*y2^2*x3^6 - 4*x1^3*y1^2*x3^7 + 12*x1^2*y1^2*x2*x3^7 - 12*x1*y1^2*x2^2*x3^7 + 4*y1^2*x2^3*x3^7 + 8*x1^3*y1*y2*x3^7 - 24*x1^2*y1*x2*y2*x3^7 + 24*x1*y1*x2^2*y2*x3^7 - 8*y1*x2^3*y2*x3^7 - 4*x1^3*y2^2*x3^7 + 12*x1^2*x2*y2^2*x3^7 - 12*x1*x2^2*y2^2*x3^7 + 4*x2^3*y2^2*x3^7 - 3*x1^2*y1^2*x3^8 + 6*x1*y1^2*x2*x3^8 - 3*y1^2*x2^2*x3^8 + 6*x1^2*y1*y2*x3^8 - 12*x1*y1*x2*y2*x3^8 + 6*y1*x2^2*y2*x3^8 - 3*x1^2*y2^2*x3^8 + 6*x1*x2*y2^2*x3^8 - 3*x2^2*y2^2*x3^8 + 6*x1^6*y1*x2^4*y3 - 6*x1^5*y1*x2^5*y3 - 12*x1^4*y1*x2^6*y3 + 12*x1^3*y1*x2^7*y3 + 6*x1^2*y1*x2^8*y3 - 6*x1*y1*x2^9*y3 - 6*x1^8*x2^2*y2*y3 + 8*x1^7*x2^3*y2*y3 + 8*x1^6*x2^4*y2*y3 - 14*x1^5*x2^5*y2*y3 + 2*x1^4*x2^6*y2*y3 + 4*x1^3*x2^7*y2*y3 - 4*x1^2*x2^8*y2*y3 + 2*x1*x2^9*y2*y3 - 18*x1^6*y1*x2^3*x3*y3 + 24*x1^5*y1*x2^4*x3*y3 + 18*x1^4*y1*x2^5*x3*y3 - 24*x1^3*y1*x2^6*x3*y3 - 6*x1^2*y1*x2^7*x3*y3 + 6*y1*x2^9*x3*y3 + 12*x1^8*x2*y2*x3*y3 - 24*x1^7*x2^2*y2*x3*y3 + 14*x1^6*x2^3*y2*x3*y3 + 4*x1^5*x2^4*y2*x3*y3 - 26*x1^4*x2^5*y2*x3*y3 + 24*x1^3*x2^6*y2*x3*y3 + 2*x1^2*x2^7*y2*x3*y3 - 4*x1*x2^8*y2*x3*y3 - 2*x2^9*y2*x3*y3 + 18*x1^6*y1*x2^2*x3^2*y3 - 36*x1^5*y1*x2^3*x3^2*y3 + 12*x1^4*y1*x2^4*x3^2*y3 + 6*x1^3*y1*x2^5*x3^2*y3 + 6*x1*y1*x2^7*x3^2*y3 - 6*y1*x2^8*x3^2*y3 - 6*x1^8*y2*x3^2*y3 + 24*x1^7*x2*y2*x3^2*y3 - 48*x1^6*x2^2*y2*x3^2*y3 + 40*x1^5*x2^3*y2*x3^2*y3 + 4*x1^4*x2^4*y2*x3^2*y3 - 14*x1^3*x2^5*y2*x3^2*y3 + 2*x1^2*x2^6*y2*x3^2*y3 - 10*x1*x2^7*y2*x3^2*y3 + 8*x2^8*y2*x3^2*y3 - 6*x1^6*y1*x2*x3^3*y3 + 24*x1^5*y1*x2^2*x3^3*y3 - 24*x1^4*y1*x2^3*x3^3*y3 - 6*x1^2*y1*x2^5*x3^3*y3 + 24*x1*y1*x2^6*x3^3*y3 - 12*y1*x2^7*x3^3*y3 - 8*x1^7*y2*x3^3*y3 + 22*x1^6*x2*y2*x3^3*y3 - 28*x1^5*x2^2*y2*x3^3*y3 + 32*x1^4*x2^3*y2*x3^3*y3 - 32*x1^3*x2^4*y2*x3^3*y3 + 22*x1^2*x2^5*y2*x3^3*y3 - 12*x1*x2^6*y2*x3^3*y3 + 4*x2^7*y2*x3^3*y3 - 6*x1^5*y1*x2*x3^4*y3 + 24*x1^3*y1*x2^3*x3^4*y3 - 12*x1^2*y1*x2^4*x3^4*y3 - 18*x1*y1*x2^5*x3^4*y3 + 12*y1*x2^6*x3^4*y3 + 4*x1^6*y2*x3^4*y3 - 10*x1^5*x2*y2*x3^4*y3 + 20*x1^4*x2^2*y2*x3^4*y3 - 24*x1^3*x2^3*y2*x3^4*y3 - 8*x1^2*x2^4*y2*x3^4*y3 + 34*x1*x2^5*y2*x3^4*y3 - 16*x2^6*y2*x3^4*y3 + 6*x1^4*y1*x2*x3^5*y3 - 24*x1^3*y1*x2^2*x3^5*y3 + 36*x1^2*y1*x2^3*x3^5*y3 - 24*x1*y1*x2^4*x3^5*y3 + 6*y1*x2^5*x3^5*y3 + 8*x1^5*y2*x3^5*y3 - 34*x1^4*x2*y2*x3^5*y3 + 56*x1^3*x2^2*y2*x3^5*y3 - 44*x1^2*x2^3*y2*x3^5*y3 + 16*x1*x2^4*y2*x3^5*y3 - 2*x2^5*y2*x3^5*y3 + 6*x1^3*y1*x2*x3^6*y3 - 18*x1^2*y1*x2^2*x3^6*y3 + 18*x1*y1*x2^3*x3^6*y3 - 6*y1*x2^4*x3^6*y3 + 2*x1^4*y2*x3^6*y3 - 14*x1^3*x2*y2*x3^6*y3 + 30*x1^2*x2^2*y2*x3^6*y3 - 26*x1*x2^3*y2*x3^6*y3 + 8*x2^4*y2*x3^6*y3 + 3*x1^8*x2^2*y3^2 - 4*x1^7*x2^3*y3^2 - 5*x1^6*x2^4*y3^2 + 6*x1^5*x2^5*y3^2 + 3*x1^4*x2^6*y3^2 - 3*x1^2*x2^8*y3^2 - 2*x1*x2^9*y3^2 + 2*x2^10*y3^2 - 6*x1^8*x2*x3*y3^2 + 12*x1^7*x2^2*x3*y3^2 - 6*x1^5*x2^4*x3*y3^2 - 6*x1^4*x2^5*x3*y3^2 + 12*x1^2*x2^7*x3*y3^2 - 6*x1*x2^8*x3*y3^2 + 3*x1^8*x3^2*y3^2 - 12*x1^7*x2*x3^2*y3^2 + 9*x1^6*x2^2*x3^2*y3^2 + 6*x1^5*x2^3*x3^2*y3^2 + 12*x1^4*x2^4*x3^2*y3^2 - 36*x1^3*x2^5*x3^2*y3^2 + 9*x1^2*x2^6*x3^2*y3^2 + 18*x1*x2^7*x3^2*y3^2 - 9*x2^8*x3^2*y3^2 + 4*x1^7*x3^3*y3^2 + 2*x1^6*x2*x3^3*y3^2 - 30*x1^5*x2^2*x3^3*y3^2 + 20*x1^4*x2^3*x3^3*y3^2 + 40*x1^3*x2^4*x3^3*y3^2 - 54*x1^2*x2^5*x3^3*y3^2 + 18*x1*x2^6*x3^3*y3^2 - 6*x1^6*x3^4*y3^2 + 36*x1^5*x2*x3^4*y3^2 - 72*x1^4*x2^2*x3^4*y3^2 + 48*x1^3*x2^3*x3^4*y3^2 + 18*x1^2*x2^4*x3^4*y3^2 - 36*x1*x2^5*x3^4*y3^2 + 12*x2^6*x3^4*y3^2 - 12*x1^5*x3^5*y3^2 + 48*x1^4*x2*x3^5*y3^2 - 72*x1^3*x2^2*x3^5*y3^2 + 48*x1^2*x2^3*x3^5*y3^2 - 12*x1*x2^4*x3^5*y3^2 - 5*x1^4*x3^6*y3^2 + 20*x1^3*x2*x3^6*y3^2 - 30*x1^2*x2^2*x3^6*y3^2 + 20*x1*x2^3*x3^6*y3^2 - 5*x2^4*x3^6*y3^2 - 4*x1^3*y1^4*x2^4 + 4*x1*y1^4*x2^6 + 14*x1^3*y1^3*x2^4*y2 - 2*x1^2*y1^3*x2^5*y2 - 14*x1*y1^3*x2^6*y2 + 2*y1^3*x2^7*y2 - 6*x1^5*y1^2*x2^2*y2^2 + 6*x1^4*y1^2*x2^3*y2^2 - 4*x1^3*y1^2*x2^4*y2^2 - 8*x1^2*y1^2*x2^5*y2^2 + 10*x1*y1^2*x2^6*y2^2 + 2*y1^2*x2^7*y2^2 + 2*x1^6*y1*x2*y2^3 + 4*x1^5*y1*x2^2*y2^3 - 14*x1^4*y1*x2^3*y2^3 + 6*x1^3*y1*x2^4*y2^3 + 12*x1^2*y1*x2^5*y2^3 - 10*x1*y1*x2^6*y2^3 + 16*x1^3*y1^4*x2^3*x3 - 6*x1^2*y1^4*x2^4*x3 - 12*x1*y1^4*x2^5*x3 + 2*y1^4*x2^6*x3 - 44*x1^3*y1^3*x2^3*y2*x3 + 16*x1^2*y1^3*x2^4*y2*x3 + 28*x1*y1^3*x2^5*y2*x3 + 12*x1^5*y1^2*x2*y2^2*x3 - 18*x1^4*y1^2*x2^2*y2^2*x3 + 28*x1^3*y1^2*x2^3*y2^2*x3 + 10*x1^2*y1^2*x2^4*y2^2*x3 - 20*x1*y1^2*x2^5*y2^2*x3 - 12*y1^2*x2^6*y2^2*x3 - 2*x1^6*y1*y2^3*x3 - 8*x1^5*y1*x2*y2^3*x3 + 22*x1^4*y1*x2^2*y2^3*x3 - 16*x1^3*y1*x2^3*y2^3*x3 - 6*x1^2*y1*x2^4*y2^3*x3 + 10*y1*x2^6*y2^3*x3 - 24*x1^3*y1^4*x2^2*x3^2 + 24*x1^2*y1^4*x2^3*x3^2 + 6*x1*y1^4*x2^4*x3^2 - 6*y1^4*x2^5*x3^2 + 48*x1^3*y1^3*x2^2*y2*x3^2 - 44*x1^2*y1^3*x2^3*y2*x3^2 - 2*x1*y1^3*x2^4*y2*x3^2 - 2*y1^3*x2^5*y2*x3^2 - 6*x1^5*y1^2*y2^2*x3^2 + 18*x1^4*y1^2*x2*y2^2*x3^2 - 36*x1^3*y1^2*x2^2*y2^2*x3^2 + 4*x1^2*y1^2*x2^3*y2^2*x3^2 + 4*x1*y1^2*x2^4*y2^2*x3^2 + 16*y1^2*x2^5*y2^2*x3^2 + 4*x1^5*y1*y2^3*x3^2 - 14*x1^4*y1*x2*y2^3*x3^2 + 16*x1^3*y1*x2^2*y2^3*x3^2 + 6*x1*y1*x2^4*y2^3*x3^2 - 12*y1*x2^5*y2^3*x3^2 + 16*x1^3*y1^4*x2*x3^3 - 36*x1^2*y1^4*x2^2*x3^3 + 16*x1*y1^4*x2^3*x3^3 + 4*y1^4*x2^4*x3^3 - 20*x1^3*y1^3*x2*y2*x3^3 + 56*x1^2*y1^3*x2^2*y2*x3^3 - 28*x1*y1^3*x2^3*y2*x3^3 - 8*y1^3*x2^4*y2*x3^3 - 6*x1^4*y1^2*y2^2*x3^3 + 4*x1^3*y1^2*x2*y2^2*x3^3 - 4*x1^2*y1^2*x2^2*y2^2*x3^3 - 4*x1*y1^2*x2^3*y2^2*x3^3 + 10*y1^2*x2^4*y2^2*x3^3 + 6*x1^4*y1*y2^3*x3^3 - 16*x1^2*y1*x2^2*y2^3*x3^3 + 16*x1*y1*x2^3*y2^3*x3^3 - 6*y1*x2^4*y2^3*x3^3 - 4*x1^3*y1^4*x3^4 + 24*x1^2*y1^4*x2*x3^4 - 24*x1*y1^4*x2^2*x3^4 + 4*y1^4*x2^3*x3^4 + 2*x1^3*y1^3*y2*x3^4 - 34*x1^2*y1^3*x2*y2*x3^4 + 26*x1*y1^3*x2^2*y2*x3^4 + 6*y1^3*x2^3*y2*x3^4 + 8*x1^3*y1^2*y2^2*x3^4 - 4*x1^2*y1^2*x2*y2^2*x3^4 + 20*x1*y1^2*x2^2*y2^2*x3^4 - 24*y1^2*x2^3*y2^2*x3^4 - 6*x1^3*y1*y2^3*x3^4 + 14*x1^2*y1*x2*y2^3*x3^4 - 22*x1*y1*x2^2*y2^3*x3^4 + 14*y1*x2^3*y2^3*x3^4 - 6*x1^2*y1^4*x3^5 + 12*x1*y1^4*x2*x3^5 - 6*y1^4*x2^2*x3^5 + 8*x1^2*y1^3*y2*x3^5 - 16*x1*y1^3*x2*y2*x3^5 + 8*y1^3*x2^2*y2*x3^5 + 2*x1^2*y1^2*y2^2*x3^5 - 4*x1*y1^2*x2*y2^2*x3^5 + 2*y1^2*x2^2*y2^2*x3^5 - 4*x1^2*y1*y2^3*x3^5 + 8*x1*y1*x2*y2^3*x3^5 - 4*y1*x2^2*y2^3*x3^5 - 2*x1*y1^4*x3^6 + 2*y1^4*x2*x3^6 + 6*x1*y1^3*y2*x3^6 - 6*y1^3*x2*y2*x3^6 - 6*x1*y1^2*y2^2*x3^6 + 6*y1^2*x2*y2^2*x3^6 + 2*x1*y1*y2^3*x3^6 - 2*y1*x2*y2^3*x3^6 - 10*x1^3*y1^3*x2^4*y3 + 6*x1^2*y1^3*x2^5*y3 + 10*x1*y1^3*x2^6*y3 - 6*y1^3*x2^7*y3 + 12*x1^5*y1^2*x2^2*y2*y3 - 12*x1^4*y1^2*x2^3*y2*y3 + 2*x1^3*y1^2*x2^4*y2*y3 + 10*x1^2*y1^2*x2^5*y2*y3 - 14*x1*y1^2*x2^6*y2*y3 + 2*y1^2*x2^7*y2*y3 - 6*x1^6*y1*x2*y2^2*y3 - 8*x1^5*y1*x2^2*y2^2*y3 + 30*x1^4*y1*x2^3*y2^2*y3 - 14*x1^3*y1*x2^4*y2^2*y3 - 24*x1^2*y1*x2^5*y2^2*y3 + 22*x1*y1*x2^6*y2^2*y3 + 2*x1^6*x2*y2^3*y3 + 4*x1^5*x2^2*y2^3*y3 - 14*x1^4*x2^3*y2^3*y3 + 6*x1^3*x2^4*y2^3*y3 + 12*x1^2*x2^5*y2^3*y3 - 10*x1*x2^6*y2^3*y3 + 28*x1^3*y1^3*x2^3*x3*y3 - 24*x1^2*y1^3*x2^4*x3*y3 - 12*x1*y1^3*x2^5*x3*y3 + 8*y1^3*x2^6*x3*y3 - 24*x1^5*y1^2*x2*y2*x3*y3 + 36*x1^4*y1^2*x2^2*y2*x3*y3 - 44*x1^3*y1^2*x2^3*y2*x3*y3 + 4*x1^2*y1^2*x2^4*y2*x3*y3 + 28*x1*y1^2*x2^5*y2*x3*y3 + 6*x1^6*y1*y2^2*x3*y3 + 16*x1^5*y1*x2*y2^2*x3*y3 - 38*x1^4*y1*x2^2*y2^2*x3*y3 + 32*x1^3*y1*x2^3*y2^2*x3*y3 + 6*x1^2*y1*x2^4*y2^2*x3*y3 - 22*y1*x2^6*y2^2*x3*y3 - 2*x1^6*y2^3*x3*y3 - 8*x1^5*x2*y2^3*x3*y3 + 22*x1^4*x2^2*y2^3*x3*y3 - 16*x1^3*x2^3*y2^3*x3*y3 - 6*x1^2*x2^4*y2^3*x3*y3 + 10*x2^6*y2^3*x3*y3 - 24*x1^3*y1^3*x2^2*x3^2*y3 + 36*x1^2*y1^3*x2^3*x3^2*y3 - 18*x1*y1^3*x2^4*x3^2*y3 + 6*y1^3*x2^5*x3^2*y3 + 12*x1^5*y1^2*y2*x3^2*y3 - 36*x1^4*y1^2*x2*y2*x3^2*y3 + 72*x1^3*y1^2*x2^2*y2*x3^2*y3 - 44*x1^2*y1^2*x2^3*y2*x3^2*y3 + 10*x1*y1^2*x2^4*y2*x3^2*y3 - 14*y1^2*x2^5*y2*x3^2*y3 - 8*x1^5*y1*y2^2*x3^2*y3 + 22*x1^4*y1*x2*y2^2*x3^2*y3 - 32*x1^3*y1*x2^2*y2^2*x3^2*y3 - 6*x1*y1*x2^4*y2^2*x3^2*y3 + 24*y1*x2^5*y2^2*x3^2*y3 + 4*x1^5*y2^3*x3^2*y3 - 14*x1^4*x2*y2^3*x3^2*y3 + 16*x1^3*x2^2*y2^3*x3^2*y3 + 6*x1*x2^4*y2^3*x3^2*y3 - 12*x2^5*y2^3*x3^2*y3 + 4*x1^3*y1^3*x2*x3^3*y3 - 24*x1^2*y1^3*x2^2*x3^3*y3 + 28*x1*y1^3*x2^3*x3^3*y3 - 8*y1^3*x2^4*x3^3*y3 + 12*x1^4*y1^2*y2*x3^3*y3 - 20*x1^3*y1^2*x2*y2*x3^3*y3 + 32*x1^2*y1^2*x2^2*y2*x3^3*y3 - 28*x1*y1^2*x2^3*y2*x3^3*y3 + 4*y1^2*x2^4*y2*x3^3*y3 - 14*x1^4*y1*y2^2*x3^3*y3 + 32*x1^2*y1*x2^2*y2^2*x3^3*y3 - 32*x1*y1*x2^3*y2^2*x3^3*y3 + 14*y1*x2^4*y2^2*x3^3*y3 + 6*x1^4*y2^3*x3^3*y3 - 16*x1^2*x2^2*y2^3*x3^3*y3 + 16*x1*x2^3*y2^3*x3^3*y3 - 6*x2^4*y2^3*x3^3*y3 + 2*x1^3*y1^3*x3^4*y3 + 6*x1^2*y1^3*x2*x3^4*y3 - 6*x1*y1^3*x2^2*x3^4*y3 - 2*y1^3*x2^3*x3^4*y3 - 10*x1^3*y1^2*y2*x3^4*y3 + 2*x1^2*y1^2*x2*y2*x3^4*y3 - 10*x1*y1^2*x2^2*y2*x3^4*y3 + 18*y1^2*x2^3*y2*x3^4*y3 + 14*x1^3*y1*y2^2*x3^4*y3 - 22*x1^2*y1*x2*y2^2*x3^4*y3 + 38*x1*y1*x2^2*y2^2*x3^4*y3 - 30*y1*x2^3*y2^2*x3^4*y3 - 6*x1^3*y2^3*x3^4*y3 + 14*x1^2*x2*y2^3*x3^4*y3 - 22*x1*x2^2*y2^3*x3^4*y3 + 14*x2^3*y2^3*x3^4*y3 - 4*x1^2*y1^2*y2*x3^5*y3 + 8*x1*y1^2*x2*y2*x3^5*y3 - 4*y1^2*x2^2*y2*x3^5*y3 + 8*x1^2*y1*y2^2*x3^5*y3 - 16*x1*y1*x2*y2^2*x3^5*y3 + 8*y1*x2^2*y2^2*x3^5*y3 - 4*x1^2*y2^3*x3^5*y3 + 8*x1*x2*y2^3*x3^5*y3 - 4*x2^2*y2^3*x3^5*y3 - 2*x1*y1^3*x3^6*y3 + 2*y1^3*x2*x3^6*y3 + 6*x1*y1^2*y2*x3^6*y3 - 6*y1^2*x2*y2*x3^6*y3 - 6*x1*y1*y2^2*x3^6*y3 + 6*y1*x2*y2^2*x3^6*y3 + 2*x1*y2^3*x3^6*y3 - 2*x2*y2^3*x3^6*y3 - 6*x1^5*y1^2*x2^2*y3^2 + 6*x1^4*y1^2*x2^3*y3^2 + 6*x1^3*y1^2*x2^4*y3^2 - 6*x1^2*y1^2*x2^5*y3^2 + 6*x1^6*y1*x2*y2*y3^2 + 4*x1^5*y1*x2^2*y2*y3^2 - 18*x1^4*y1*x2^3*y2*y3^2 - 4*x1^3*y1*x2^4*y2*y3^2 + 14*x1^2*y1*x2^5*y2*y3^2 - 2*y1*x2^7*y2*y3^2 - 6*x1^6*x2*y2^2*y3^2 - 2*x1^5*x2^2*y2^2*y3^2 + 24*x1^4*x2^3*y2^2*y3^2 - 10*x1^3*x2^4*y2^2*y3^2 - 16*x1^2*x2^5*y2^2*y3^2 + 12*x1*x2^6*y2^2*y3^2 - 2*x2^7*y2^2*y3^2 + 12*x1^5*y1^2*x2*x3*y3^2 - 18*x1^4*y1^2*x2^2*x3*y3^2 + 6*x1^2*y1^2*x2^4*x3*y3^2 - 6*x1^6*y1*y2*x3*y3^2 - 8*x1^5*y1*x2*y2*x3*y3^2 + 10*x1^4*y1*x2^2*y2*x3*y3^2 + 28*x1^3*y1*x2^3*y2*x3*y3^2 - 10*x1^2*y1*x2^4*y2*x3*y3^2 - 28*x1*y1*x2^5*y2*x3*y3^2 + 14*y1*x2^6*y2*x3*y3^2 + 6*x1^6*y2^2*x3*y3^2 + 4*x1^5*x2*y2^2*x3*y3^2 - 20*x1^4*x2^2*y2^2*x3*y3^2 + 4*x1^3*x2^3*y2^2*x3*y3^2 - 4*x1^2*x2^4*y2^2*x3*y3^2 + 20*x1*x2^5*y2^2*x3*y3^2 - 10*x2^6*y2^2*x3*y3^2 - 6*x1^5*y1^2*x3^2*y3^2 + 18*x1^4*y1^2*x2*x3^2*y3^2 - 12*x1^3*y1^2*x2^2*x3^2*y3^2 - 6*x1*y1^2*x2^4*x3^2*y3^2 + 6*y1^2*x2^5*x3^2*y3^2 + 4*x1^5*y1*y2*x3^2*y3^2 - 2*x1^4*y1*x2*y2*x3^2*y3^2 - 32*x1^3*y1*x2^2*y2*x3^2*y3^2 + 44*x1^2*y1*x2^3*y2*x3^2*y3^2 - 4*x1*y1*x2^4*y2*x3^2*y3^2 - 10*y1*x2^5*y2*x3^2*y3^2 - 2*x1^5*y2^2*x3^2*y3^2 + 4*x1^4*x2*y2^2*x3^2*y3^2 + 4*x1^3*x2^2*y2^2*x3^2*y3^2 - 4*x1^2*x2^3*y2^2*x3^2*y3^2 - 10*x1*x2^4*y2^2*x3^2*y3^2 + 8*x2^5*y2^2*x3^2*y3^2 - 6*x1^4*y1^2*x3^3*y3^2 + 12*x1^2*y1^2*x2^2*x3^3*y3^2 - 6*y1^2*x2^4*x3^3*y3^2 + 10*x1^4*y1*y2*x3^3*y3^2 + 20*x1^3*y1*x2*y2*x3^3*y3^2 - 72*x1^2*y1*x2^2*y2*x3^3*y3^2 + 44*x1*y1*x2^3*y2*x3^3*y3^2 - 2*y1*x2^4*y2*x3^3*y3^2 - 8*x1^4*y2^2*x3^3*y3^2 - 4*x1^3*x2*y2^2*x3^3*y3^2 + 36*x1^2*x2^2*y2^2*x3^3*y3^2 - 28*x1*x2^3*y2^2*x3^3*y3^2 + 4*x2^4*y2^2*x3^3*y3^2 + 6*x1^3*y1^2*x3^4*y3^2 - 18*x1^2*y1^2*x2*x3^4*y3^2 + 18*x1*y1^2*x2^2*x3^4*y3^2 - 6*y1^2*x2^3*x3^4*y3^2 - 12*x1^3*y1*y2*x3^4*y3^2 + 36*x1^2*y1*x2*y2*x3^4*y3^2 - 36*x1*y1*x2^2*y2*x3^4*y3^2 + 12*y1*x2^3*y2*x3^4*y3^2 + 6*x1^3*y2^2*x3^4*y3^2 - 18*x1^2*x2*y2^2*x3^4*y3^2 + 18*x1*x2^2*y2^2*x3^4*y3^2 - 6*x2^3*y2^2*x3^4*y3^2 + 6*x1^2*y1^2*x3^5*y3^2 - 12*x1*y1^2*x2*x3^5*y3^2 + 6*y1^2*x2^2*x3^5*y3^2 - 12*x1^2*y1*y2*x3^5*y3^2 + 24*x1*y1*x2*y2*x3^5*y3^2 - 12*y1*x2^2*y2*x3^5*y3^2 + 6*x1^2*y2^2*x3^5*y3^2 - 12*x1*x2*y2^2*x3^5*y3^2 + 6*x2^2*y2^2*x3^5*y3^2 - 2*x1^6*y1*x2*y3^3 + 2*x1^4*y1*x2^3*y3^3 + 8*x1^3*y1*x2^4*y3^3 - 6*x1^2*y1*x2^5*y3^3 - 8*x1*y1*x2^6*y3^3 + 6*y1*x2^7*y3^3 + 6*x1^6*x2*y2*y3^3 - 8*x1^5*x2^2*y2*y3^3 - 6*x1^4*x2^3*y2*y3^3 + 8*x1^3*x2^4*y2*y3^3 + 2*x1^2*x2^5*y2*y3^3 - 2*x2^7*y2*y3^3 + 2*x1^6*y1*x3*y3^3 + 6*x1^4*y1*x2^2*x3*y3^3 - 28*x1^3*y1*x2^3*x3*y3^3 + 18*x1^2*y1*x2^4*x3*y3^3 + 12*x1*y1*x2^5*x3*y3^3 - 10*y1*x2^6*x3*y3^3 - 6*x1^6*y2*x3*y3^3 + 16*x1^5*x2*y2*x3*y3^3 - 26*x1^4*x2^2*y2*x3*y3^3 + 28*x1^3*x2^3*y2*x3*y3^3 + 2*x1^2*x2^4*y2*x3*y3^3 - 28*x1*x2^5*y2*x3*y3^3 + 14*x2^6*y2*x3*y3^3 - 6*x1^4*y1*x2*x3^2*y3^3 + 24*x1^3*y1*x2^2*x3^2*y3^3 - 36*x1^2*y1*x2^3*x3^2*y3^3 + 24*x1*y1*x2^4*x3^2*y3^3 - 6*y1*x2^5*x3^2*y3^3 - 8*x1^5*y2*x3^2*y3^3 + 34*x1^4*x2*y2*x3^2*y3^3 - 56*x1^3*x2^2*y2*x3^2*y3^3 + 44*x1^2*x2^3*y2*x3^2*y3^3 - 16*x1*x2^4*y2*x3^2*y3^3 + 2*x2^5*y2*x3^2*y3^3 - 2*x1^4*y1*x3^3*y3^3 - 4*x1^3*y1*x2*x3^3*y3^3 + 24*x1^2*y1*x2^2*x3^3*y3^3 - 28*x1*y1*x2^3*x3^3*y3^3 + 10*y1*x2^4*x3^3*y3^3 - 2*x1^4*y2*x3^3*y3^3 + 20*x1^3*x2*y2*x3^3*y3^3 - 48*x1^2*x2^2*y2*x3^3*y3^3 + 44*x1*x2^3*y2*x3^3*y3^3 - 14*x2^4*y2*x3^3*y3^3 - 2*x1^6*x2*y3^4 + 6*x1^5*x2^2*y3^4 - 4*x1^4*x2^3*y3^4 - 4*x1^3*x2^4*y3^4 + 6*x1^2*x2^5*y3^4 - 2*x1*x2^6*y3^4 + 2*x1^6*x3*y3^4 - 12*x1^5*x2*x3*y3^4 + 24*x1^4*x2^2*x3*y3^4 - 16*x1^3*x2^3*x3*y3^4 - 6*x1^2*x2^4*x3*y3^4 + 12*x1*x2^5*x3*y3^4 - 4*x2^6*x3*y3^4 + 6*x1^5*x3^2*y3^4 - 24*x1^4*x2*x3^2*y3^4 + 36*x1^3*x2^2*x3^2*y3^4 - 24*x1^2*x2^3*x3^2*y3^4 + 6*x1*x2^4*x3^2*y3^4 + 4*x1^4*x3^3*y3^4 - 16*x1^3*x2*x3^3*y3^4 + 24*x1^2*x2^2*x3^3*y3^4 - 16*x1*x2^3*x3^3*y3^4 + 4*x2^4*x3^3*y3^4 + y1^6*x2^4 - 6*y1^5*x2^4*y2 + 3*x1^2*y1^4*x2^2*y2^2 - 2*x1*y1^4*x2^3*y2^2 + 10*y1^4*x2^4*y2^2 - 4*x1^3*y1^3*x2*y2^3 - 4*x1^2*y1^3*x2^2*y2^3 + 12*x1*y1^3*x2^3*y2^3 - 8*y1^3*x2^4*y2^3 + 6*x1^3*y1^2*x2*y2^4 - x1^2*y1^2*x2^2*y2^4 - 16*x1*y1^2*x2^3*y2^4 + 2*y1^2*x2^4*y2^4 + 2*x1^4*y1*y2^5 - 2*x1^3*y1*x2*y2^5 - 4*x1^2*y1*x2^2*y2^5 + 14*x1*y1*x2^3*y2^5 - 3*x1^4*y2^6 + 4*x1^3*x2*y2^6 - 4*x1*x2^3*y2^6 - 4*y1^6*x2^3*x3 + 18*y1^5*x2^3*y2*x3 - 6*x1^2*y1^4*x2*y2^2*x3 + 6*x1*y1^4*x2^2*y2^2*x3 - 26*y1^4*x2^3*y2^2*x3 + 4*x1^3*y1^3*y2^3*x3 + 8*x1^2*y1^3*x2*y2^3*x3 - 16*x1*y1^3*x2^2*y2^3*x3 + 8*y1^3*x2^3*y2^3*x3 - 6*x1^3*y1^2*y2^4*x3 + 2*x1^2*y1^2*x2*y2^4*x3 + 14*x1*y1^2*x2^2*y2^4*x3 + 14*y1^2*x2^3*y2^4*x3 - 4*x1^2*y1*x2*y2^5*x3 - 4*x1*y1*x2^2*y2^5*x3 - 14*y1*x2^3*y2^5*x3 + 2*x1^3*y2^6*x3 + 4*x2^3*y2^6*x3 + 6*y1^6*x2^2*x3^2 - 18*y1^5*x2^2*y2*x3^2 + 3*x1^2*y1^4*y2^2*x3^2 - 6*x1*y1^4*x2*y2^2*x3^2 + 15*y1^4*x2^2*y2^2*x3^2 - 4*x1^2*y1^3*y2^3*x3^2 + 8*x1*y1^3*x2*y2^3*x3^2 + 8*y1^3*x2^2*y2^3*x3^2 - x1^2*y1^2*y2^4*x3^2 + 2*x1*y1^2*x2*y2^4*x3^2 - 19*y1^2*x2^2*y2^4*x3^2 + 2*x1^2*y1*y2^5*x3^2 - 4*x1*y1*x2*y2^5*x3^2 + 8*y1*x2^2*y2^5*x3^2 - 4*y1^6*x2*x3^3 + 6*y1^5*x2*y2*x3^3 + 2*x1*y1^4*y2^2*x3^3 + 8*y1^4*x2*y2^2*x3^3 - 4*x1*y1^3*y2^3*x3^3 - 16*y1^3*x2*y2^3*x3^3 + 4*x1*y1*y2^5*x3^3 + 10*y1*x2*y2^5*x3^3 - 2*x1*y2^6*x3^3 - 4*x2*y2^6*x3^3 + y1^6*x3^4 - 7*y1^4*y2^2*x3^4 + 8*y1^3*y2^3*x3^4 + 3*y1^2*y2^4*x3^4 - 8*y1*y2^5*x3^4 + 3*y2^6*x3^4 + 4*y1^5*x2^4*y3 - 6*x1^2*y1^4*x2^2*y2*y3 + 4*x1*y1^4*x2^3*y2*y3 - 10*y1^4*x2^4*y2*y3 + 12*x1^3*y1^3*x2*y2^2*y3 + 8*x1^2*y1^3*x2^2*y2^2*y3 - 28*x1*y1^3*x2^3*y2^2*y3 + 16*y1^3*x2^4*y2^2*y3 - 20*x1^3*y1^2*x2*y2^3*y3 + 36*x1*y1^2*x2^3*y2^3*y3 - 8*y1^2*x2^4*y2^3*y3 - 6*x1^4*y1*y2^4*y3 + 10*x1^3*y1*x2*y2^4*y3 + 18*x1^2*y1*x2^2*y2^4*y3 - 34*x1*y1*x2^3*y2^4*y3 + 8*x1^4*y2^5*y3 - 10*x1^3*x2*y2^5*y3 - 8*x1^2*x2^2*y2^5*y3 + 14*x1*x2^3*y2^5*y3 - 10*y1^5*x2^3*x3*y3 + 12*x1^2*y1^4*x2*y2*x3*y3 - 12*x1*y1^4*x2^2*y2*x3*y3 + 30*y1^4*x2^3*y2*x3*y3 - 12*x1^3*y1^3*y2^2*x3*y3 - 16*x1^2*y1^3*x2*y2^2*x3*y3 + 32*x1*y1^3*x2^2*y2^2*x3*y3 - 24*y1^3*x2^3*y2^2*x3*y3 + 20*x1^3*y1^2*y2^3*x3*y3 - 24*x1*y1^2*x2^2*y2^3*x3*y3 - 16*y1^2*x2^3*y2^3*x3*y3 - 4*x1^3*y1*y2^4*x3*y3 + 34*y1*x2^3*y2^4*x3*y3 - 4*x1^3*y2^5*x3*y3 + 4*x1^2*x2*y2^5*x3*y3 + 4*x1*x2^2*y2^5*x3*y3 - 14*x2^3*y2^5*x3*y3 + 6*y1^5*x2^2*x3^2*y3 - 6*x1^2*y1^4*y2*x3^2*y3 + 12*x1*y1^4*x2*y2*x3^2*y3 - 24*y1^4*x2^2*y2*x3^2*y3 + 8*x1^2*y1^3*y2^2*x3^2*y3 - 16*x1*y1^3*x2*y2^2*x3^2*y3 + 20*y1^3*x2^2*y2^2*x3^2*y3 + 12*y1^2*x2^2*y2^3*x3^2*y3 - 18*y1*x2^2*y2^4*x3^2*y3 - 2*x1^2*y2^5*x3^2*y3 + 4*x1*x2*y2^5*x3^2*y3 + 4*x2^2*y2^5*x3^2*y3 + 2*y1^5*x2*x3^3*y3 - 4*x1*y1^4*y2*x3^3*y3 - 2*y1^4*x2*y2*x3^3*y3 + 12*x1*y1^3*y2^2*x3^3*y3 - 8*y1^3*x2*y2^2*x3^3*y3 - 12*x1*y1^2*y2^3*x3^3*y3 + 16*y1^2*x2*y2^3*x3^3*y3 + 4*x1*y1*y2^4*x3^3*y3 - 10*y1*x2*y2^4*x3^3*y3 + 2*x2*y2^5*x3^3*y3 - 2*y1^5*x3^4*y3 + 6*y1^4*y2*x3^4*y3 - 4*y1^3*y2^2*x3^4*y3 - 4*y1^2*y2^3*x3^4*y3 + 6*y1*y2^4*x3^4*y3 - 2*y2^5*x3^4*y3 + 3*x1^2*y1^4*x2^2*y3^2 - 2*x1*y1^4*x2^3*y3^2 - y1^4*x2^4*y3^2 - 12*x1^3*y1^3*x2*y2*y3^2 - 4*x1^2*y1^3*x2^2*y2*y3^2 + 20*x1*y1^3*x2^3*y2*y3^2 - 4*y1^3*x2^4*y2*y3^2 + 24*x1^3*y1^2*x2*y2^2*y3^2 - 24*x1*y1^2*x2^3*y2^2*y3^2 + 4*x1^4*y1*y2^3*y3^2 - 16*x1^3*y1*x2*y2^3*y3^2 - 12*x1^2*y1*x2^2*y2^3*y3^2 + 16*x1*y1*x2^3*y2^3*y3^2 + 8*y1*x2^4*y2^3*y3^2 - 3*x1^4*y2^4*y3^2 + 19*x1^2*x2^2*y2^4*y3^2 - 14*x1*x2^3*y2^4*y3^2 - 2*x2^4*y2^4*y3^2 - 6*x1^2*y1^4*x2*x3*y3^2 + 6*x1*y1^4*x2^2*x3*y3^2 + 12*x1^3*y1^3*y2*x3*y3^2 + 8*x1^2*y1^3*x2*y2*x3*y3^2 - 16*x1*y1^3*x2^2*y2*x3*y3^2 - 4*y1^3*x2^3*y2*x3*y3^2 - 24*x1^3*y1^2*y2^2*x3*y3^2 + 24*y1^2*x2^3*y2^2*x3*y3^2 + 12*x1^3*y1*y2^3*x3*y3^2 + 24*x1*y1*x2^2*y2^3*x3*y3^2 - 36*y1*x2^3*y2^3*x3*y3^2 - 2*x1^2*x2*y2^4*x3*y3^2 - 14*x1*x2^2*y2^4*x3*y3^2 + 16*x2^3*y2^4*x3*y3^2 + 3*x1^2*y1^4*x3^2*y3^2 - 6*x1*y1^4*x2*x3^2*y3^2 + 3*y1^4*x2^2*x3^2*y3^2 - 4*x1^2*y1^3*y2*x3^2*y3^2 + 8*x1*y1^3*x2*y2*x3^2*y3^2 - 4*y1^3*x2^2*y2*x3^2*y3^2 + x1^2*y2^4*x3^2*y3^2 - 2*x1*x2*y2^4*x3^2*y3^2 + x2^2*y2^4*x3^2*y3^2 + 2*x1*y1^4*x3^3*y3^2 - 2*y1^4*x2*x3^3*y3^2 - 12*x1*y1^3*y2*x3^3*y3^2 + 12*y1^3*x2*y2*x3^3*y3^2 + 24*x1*y1^2*y2^2*x3^3*y3^2 - 24*y1^2*x2*y2^2*x3^3*y3^2 - 20*x1*y1*y2^3*x3^3*y3^2 + 20*y1*x2*y2^3*x3^3*y3^2 + 6*x1*y2^4*x3^3*y3^2 - 6*x2*y2^4*x3^3*y3^2 + 4*x1^3*y1^3*x2*y3^3 - 4*x1*y1^3*x2^3*y3^3 - 12*x1^3*y1^2*x2*y2*y3^3 + 4*x1^2*y1^2*x2^2*y2*y3^3 + 4*x1*y1^2*x2^3*y2*y3^3 + 4*y1^2*x2^4*y2*y3^3 + 4*x1^4*y1*y2^2*y3^3 + 8*x1^3*y1*x2*y2^2*y3^3 - 20*x1^2*y1*x2^2*y2^2*y3^3 + 24*x1*y1*x2^3*y2^2*y3^3 - 16*y1*x2^4*y2^2*y3^3 - 8*x1^4*y2^3*y3^3 + 16*x1^3*x2*y2^3*y3^3 - 8*x1^2*x2^2*y2^3*y3^3 - 8*x1*x2^3*y2^3*y3^3 + 8*x2^4*y2^3*y3^3 - 4*x1^3*y1^3*x3*y3^3 + 4*y1^3*x2^3*x3*y3^3 + 12*x1^3*y1^2*y2*x3*y3^3 - 8*x1^2*y1^2*x2*y2*x3*y3^3 + 16*x1*y1^2*x2^2*y2*x3*y3^3 - 20*y1^2*x2^3*y2*x3*y3^3 - 12*x1^3*y1*y2^2*x3*y3^3 + 16*x1^2*y1*x2*y2^2*x3*y3^3 - 32*x1*y1*x2^2*y2^2*x3*y3^3 + 28*y1*x2^3*y2^2*x3*y3^3 + 4*x1^3*y2^3*x3*y3^3 - 8*x1^2*x2*y2^3*x3*y3^3 + 16*x1*x2^2*y2^3*x3*y3^3 - 12*x2^3*y2^3*x3*y3^3 + 4*x1^2*y1^2*y2*x3^2*y3^3 - 8*x1*y1^2*x2*y2*x3^2*y3^3 + 4*y1^2*x2^2*y2*x3^2*y3^3 - 8*x1^2*y1*y2^2*x3^2*y3^3 + 16*x1*y1*x2*y2^2*x3^2*y3^3 - 8*y1*x2^2*y2^2*x3^2*y3^3 + 4*x1^2*y2^3*x3^2*y3^3 - 8*x1*x2*y2^3*x3^2*y3^3 + 4*x2^2*y2^3*x3^2*y3^3 + 4*x1*y1^3*x3^3*y3^3 - 4*y1^3*x2*x3^3*y3^3 - 12*x1*y1^2*y2*x3^3*y3^3 + 12*y1^2*x2*y2*x3^3*y3^3 + 12*x1*y1*y2^2*x3^3*y3^3 - 12*y1*x2*y2^2*x3^3*y3^3 - 4*x1*y2^3*x3^3*y3^3 + 4*x2*y2^3*x3^3*y3^3 + 2*x1^3*y1^2*x2*y3^4 - 3*x1^2*y1^2*x2^2*y3^4 + y1^2*x2^4*y3^4 - 6*x1^4*y1*y2*y3^4 + 2*x1^3*y1*x2*y2*y3^4 + 24*x1^2*y1*x2^2*y2*y3^4 - 30*x1*y1*x2^3*y2*y3^4 + 10*y1*x2^4*y2*y3^4 + 7*x1^4*y2^2*y3^4 - 8*x1^3*x2*y2^2*y3^4 - 15*x1^2*x2^2*y2^2*y3^4 + 26*x1*x2^3*y2^2*y3^4 - 10*x2^4*y2^2*y3^4 - 2*x1^3*y1^2*x3*y3^4 + 6*x1^2*y1^2*x2*x3*y3^4 - 6*x1*y1^2*x2^2*x3*y3^4 + 2*y1^2*x2^3*x3*y3^4 + 4*x1^3*y1*y2*x3*y3^4 - 12*x1^2*y1*x2*y2*x3*y3^4 + 12*x1*y1*x2^2*y2*x3*y3^4 - 4*y1*x2^3*y2*x3*y3^4 - 2*x1^3*y2^2*x3*y3^4 + 6*x1^2*x2*y2^2*x3*y3^4 - 6*x1*x2^2*y2^2*x3*y3^4 + 2*x2^3*y2^2*x3*y3^4 - 3*x1^2*y1^2*x3^2*y3^4 + 6*x1*y1^2*x2*x3^2*y3^4 - 3*y1^2*x2^2*x3^2*y3^4 + 6*x1^2*y1*y2*x3^2*y3^4 - 12*x1*y1*x2*y2*x3^2*y3^4 + 6*y1*x2^2*y2*x3^2*y3^4 - 3*x1^2*y2^2*x3^2*y3^4 + 6*x1*x2*y2^2*x3^2*y3^4 - 3*x2^2*y2^2*x3^2*y3^4 + 2*x1^4*y1*y3^5 - 2*x1^3*y1*x2*y3^5 - 6*x1^2*y1*x2^2*y3^5 + 10*x1*y1*x2^3*y3^5 - 4*y1*x2^4*y3^5 - 6*x1^3*x2*y2*y3^5 + 18*x1^2*x2^2*y2*y3^5 - 18*x1*x2^3*y2*y3^5 + 6*x2^4*y2*y3^5 - x1^4*y3^6 + 4*x1^3*x2*y3^6 - 6*x1^2*x2^2*y3^6 + 4*x1*x2^3*y3^6 - x2^4*y3^6 + 2*y1^5*x2*y2^3 - 6*y1^4*x2*y2^4 - 2*x1*y1^3*y2^5 + 6*y1^3*x2*y2^5 + 6*x1*y1^2*y2^6 - 2*y1^2*x2*y2^6 - 6*x1*y1*y2^7 + 2*x1*y2^8 - 2*y1^5*y2^3*x3 + 6*y1^4*y2^4*x3 - 4*y1^3*y2^5*x3 - 4*y1^2*y2^6*x3 + 6*y1*y2^7*x3 - 2*y2^8*x3 - 6*y1^5*x2*y2^2*y3 + 18*y1^4*x2*y2^3*y3 + 6*x1*y1^3*y2^4*y3 - 18*y1^3*x2*y2^4*y3 - 18*x1*y1^2*y2^5*y3 + 6*y1^2*x2*y2^5*y3 + 18*x1*y1*y2^6*y3 - 6*x1*y2^7*y3 + 6*y1^5*y2^2*x3*y3 - 18*y1^4*y2^3*x3*y3 + 12*y1^3*y2^4*x3*y3 + 12*y1^2*y2^5*x3*y3 - 18*y1*y2^6*x3*y3 + 6*y2^7*x3*y3 + 6*y1^5*x2*y2*y3^2 - 18*y1^4*x2*y2^2*y3^2 - 4*x1*y1^3*y2^3*y3^2 + 16*y1^3*x2*y2^3*y3^2 + 12*x1*y1^2*y2^4*y3^2 - 12*x1*y1*y2^5*y3^2 - 6*y1*x2*y2^5*y3^2 + 4*x1*y2^6*y3^2 + 2*x2*y2^6*y3^2 - 6*y1^5*y2*x3*y3^2 + 18*y1^4*y2^2*x3*y3^2 - 12*y1^3*y2^3*x3*y3^2 - 12*y1^2*y2^4*x3*y3^2 + 18*y1*y2^5*x3*y3^2 - 6*y2^6*x3*y3^2 - 2*y1^5*x2*y3^3 + 6*y1^4*x2*y2*y3^3 - 4*x1*y1^3*y2^2*y3^3 + 12*x1*y1^2*y2^3*y3^3 - 16*y1^2*x2*y2^3*y3^3 - 12*x1*y1*y2^4*y3^3 + 18*y1*x2*y2^4*y3^3 + 4*x1*y2^5*y3^3 - 6*x2*y2^5*y3^3 + 2*y1^5*x3*y3^3 - 6*y1^4*y2*x3*y3^3 + 4*y1^3*y2^2*x3*y3^3 + 4*y1^2*y2^3*x3*y3^3 - 6*y1*y2^4*x3*y3^3 + 2*y2^5*x3*y3^3 + 6*x1*y1^3*y2*y3^4 - 6*y1^3*x2*y2*y3^4 - 18*x1*y1^2*y2^2*y3^4 + 18*y1^2*x2*y2^2*y3^4 + 18*x1*y1*y2^3*y3^4 - 18*y1*x2*y2^3*y3^4 - 6*x1*y2^4*y3^4 + 6*x2*y2^4*y3^4 - 2*x1*y1^3*y3^5 + 2*y1^3*x2*y3^5 + 6*x1*y1^2*y2*y3^5 - 6*y1^2*x2*y2*y3^5 - 6*x1*y1*y2^2*y3^5 + 6*y1*x2*y2^2*y3^5 + 2*x1*y2^3*y3^5 - 2*x2*y2^3*y3^5 }}}

Coerce into the quotient ring $Q$ defined above:

{{{id=38| Q(f) /// 0 }}}

Likewise for the $y$-cordinates:

{{{id=17| Q(Z[1].numerator()*W[1].denominator() - Z[1].denominator()*W[1].numerator()) /// 0 }}} {{{id=42| /// }}} {{{id=25| /// }}}