y^2=x^3+a*x+b
XZ coordinates [database entry] represent x y as X Z satisfying the following equations:
x=X/Z
XX = X1^2
ZZ = Z1^2
A = 2*((X1+Z1)^2-XX-ZZ)
aZZ = a*ZZ
X3 = (XX-aZZ)^2-b2*A*ZZ
Z3 = A*(XX+aZZ)+b4*ZZ^2
XX = X1^2
ZZ = Z1^2
A = 2*((X1+Z1)^2-XX-ZZ)
aZZ = a*ZZ
b2ZZ = b2*ZZ
X3 = (XX-aZZ)^2-A*b2ZZ
Z3 = A*(XX+aZZ)+2*b2ZZ*ZZ
T1 = X1^2
T2 = Z1^2
T3 = a*T2
T4 = T1-T3
T5 = T4^2
T6 = b*T2
T7 = X1*Z1
T8 = T6*T7
T9 = 8*T8
X3 = T5-T9
T10 = T1+T3
T11 = T7*T10
T12 = T6*T2
T13 = T11+T12
Z3 = 4*T13
X3 = (X1^2-a*Z1^2)^2-8*b*X1*Z1^3
Z3 = 4*(X1*Z1*(X1^2+a*Z1^2)+b*Z1^4)
X3 = (X1^2-a*Z1^2)^2-8*b*X1*Z1^3
Z3 = 4*Z1*(X1^3+a*X1*Z1^2+b*Z1^3)
A = X2*X3
B = Z2*Z3
C = X2*Z3
D = Z2*X3
X5 = (A-a*B)^2-b4*B*(C+D)
Z5 = X1*(C-D)^2
T1 = X2*X3
T2 = Z2*Z3
T3 = X2*Z3
T4 = Z2*X3
T5 = a*T2
T6 = T1-T5
T7 = T6^2
T8 = b*T2
T9 = 4*T8
T10 = T3+T4
T11 = T9*T10
T12 = T7-T11
X5 = T12
T13 = T3-T4
T14 = T13^2
Z5 = X1*T14
T1 = X2*X3
T2 = Z2*Z3
T3 = X2*Z3
T4 = X3*Z2
T5 = T3+T4
T6 = a*T2
T7 = T1+T6
T8 = T5*T7
T9 = 2*T8
T10 = T2^2
T11 = b*T10
T12 = 4*T11
T13 = T9+T12
T14 = T3-T4
T15 = T14^2
T16 = T13
T17 = X1*T15
X5 = T16-T17
Z5 = T15
T1 = X2*X3
T2 = Z2*Z3
T3 = X2*Z3
T4 = Z2*X3
T5 = a*T2
T6 = T1-T5
T7 = T6^2
T8 = b*T2
T9 = 4*T8
T10 = T3+T4
T11 = T9*T10
T12 = T7-T11
X5 = Z1*T12
T13 = T3-T4
T14 = T13^2
Z5 = X1*T14
T1 = X2*X3
T2 = Z2*Z3
T3 = X2*Z3
T4 = X3*Z2
T5 = T3+T4
T6 = a*T2
T7 = T1+T6
T8 = T5*T7
T9 = 2*T8
T10 = T2^2
T11 = b*T10
T12 = 4*T11
T13 = T9+T12
T14 = T3-T4
T15 = T14^2
T16 = Z1*T13
T17 = X1*T15
X5 = T16-T17
Z5 = Z1*T15
X5 = (X2*X3-a*Z2*Z3)^2-4*b*Z2*Z3*(X2*Z3+X3*Z2)
Z5 = X1*(X2*Z3-X3*Z2)^2
X5 = (X2*X3-a*Z2*Z3)^2-4*b*Z2*Z3*(X2*Z3+X3*Z2)
Z5 = X1*(X2*Z3-X3*Z2)^2
R = 2*(X2*Z3+X3*Z2)*(X2*X3+a*Z2*Z3)+4*b*Z2^2*Z3^2
S = (X2*Z3-X3*Z2)^2
X5 = R-S*X1
Z5 = S
X5 = Z1*((X2*X3-a*Z2*Z3)^2-4*b*Z2*Z3*(X2*Z3+X3*Z2))
Z5 = X1*(X2*Z3-X3*Z2)^2
R = 2*(X2*Z3+X3*Z2)*(X2*X3+a*Z2*Z3)+4*b*Z2^2*Z3^2
S = (X2*Z3-X3*Z2)^2
X5 = R*Z1-S*X1
Z5 = S*Z1
XX = X2^2
ZZ = Z2^2
E = 2*((X2+Z2)^2-XX-ZZ)
aZZ = a*ZZ
X4 = (XX-aZZ)^2-b2*E*ZZ
Z4 = E*(XX+aZZ)+b4*ZZ^2
A = X2*X3
B = Z2*Z3
C = X2*Z3
D = Z2*X3
X5 = (A-a*B)^2-b4*B*(C+D)
Z5 = X1*(C-D)^2
XX = X2^2
ZZ = Z2^2
aZZ = a*ZZ
E = (X2+Z2)^2-XX-ZZ
X4 = (XX-aZZ)^2-b4*E*ZZ
Z4 = 2*E*(XX+aZZ)+b4*ZZ^2
A = X2*X3
B = Z2*Z3
C = X2*Z3
D = X3*Z2
X5 = (A-a*B)^2-b4*B*(C+D)
Z5 = X1*(C-D)^2
XX = X2^2
ZZ = Z2^2
aZZ = a*ZZ
E = (X2+Z2)^2-XX-ZZ
X4 = (XX-aZZ)^2-b4*E*ZZ
Z4 = 2*E*(XX+aZZ)+b4*ZZ^2
A = X2*X3
B = Z2*Z3
C = X2*Z3
D = X3*Z2
R = 2*(C+D)*(A+a*B)+b4*B^2
S = (C-D)^2
X5 = R-S*X1
Z5 = S
XX = X2^2
ZZ = Z2^2
aZZ = a*ZZ
E = (X2+Z2)^2-XX-ZZ
X4 = (XX-aZZ)^2-b4*E*ZZ
Z4 = 2*E*(XX+aZZ)+b4*ZZ^2
A = X2*X3
B = Z2*Z3
C = X2*Z3
D = X3*Z2
R = 2*(C+D)*(A+a*B)+b4*B^2
S = (C-D)^2
X5 = R-S*X1
Z5 = S
XX = X2^2
ZZ = Z2^2
E = 2*((X2+Z2)^2-XX-ZZ)
aZZ = a*ZZ
b2ZZ = b2*ZZ
X4 = (XX-aZZ)^2-E*b2ZZ
Z4 = E*(XX+aZZ)+2*b2ZZ*ZZ
A = X2*X3
B = Z2*Z3
C = X2*Z3
D = Z2*X3
X5 = (A-a*B)^2-b4*B*(C+D)
Z5 = X1*(C-D)^2
XX = X2^2
ZZ = Z2^2
aZZ = a*ZZ
E = (X2+Z2)^2-XX-ZZ
X4 = (XX-aZZ)^2-b4*E*ZZ
Z4 = 2*E*(XX+aZZ)+b4*ZZ^2
A = X2*X3
B = Z2*Z3
C = X2*Z3
D = X3*Z2
X5 = Z1*((A-a*B)^2-b4*B*(C+D))
Z5 = X1*(C-D)^2
XX = X2^2
ZZ = Z2^2
aZZ = a*ZZ
E = (X2+Z2)^2-XX-ZZ
X4 = (XX-aZZ)^2-b4*E*ZZ
Z4 = 2*E*(XX+aZZ)+b4*ZZ^2
A = X2*X3
B = Z2*Z3
C = X2*Z3
D = X3*Z2
R = 2*(C+D)*(A+a*B)+b4*B^2
S = (C-D)^2
X5 = R*Z1-S*X1
Z5 = S*Z1
X4 = (X2^2-a*Z2^2)^2-8*b*X2*Z2^3
Z4 = 4*(X2*Z2*(X2^2+a*Z2^2)+b*Z2^4)
X5 = ((X2*X3-a*Z2*Z3)^2-4*b*Z2*Z3*(X2*Z3+X3*Z2))
Z5 = X1*(X2*Z3-X3*Z2)^2
X4 = (X2^2-a*Z2^2)^2-8*b*X2*Z2^3
Z4 = 4*(X2*Z2*(X2^2+a*Z2^2)+b*Z2^4)
R = 2*(X2*Z3+X3*Z2)*(X2*X3+a*Z2*Z3)+4*b*Z2^2*Z3^2
S = (X2*Z3-X3*Z2)^2
X5 = R-S*X1
Z5 = S
X4 = (X2^2-a*Z2^2)^2-8*b*X2*Z2^3
Z4 = 4*(X2*Z2*(X2^2+a*Z2^2)+b*Z2^4)
X5 = Z1*((X2*X3-a*Z2*Z3)^2-4*b*Z2*Z3*(X2*Z3+X3*Z2))
Z5 = X1*(X2*Z3-X3*Z2)^2
X4 = (X2^2-a*Z2^2)^2-8*b*X2*Z2^3
Z4 = 4*(X2*Z2*(X2^2+a*Z2^2)+b*Z2^4)
R = 2*(X2*Z3+X3*Z2)*(X2*X3+a*Z2*Z3)+4*b*Z2^2*Z3^2
S = (X2*Z3-X3*Z2)^2
X5 = R*Z1-S*X1
Z5 = S*Z1
X4 = (X2^2-a*Z2^2)^2-8*b*X2*Z2^3
Z4 = 4*Z2*(X2^3+a*X2*Z2^2+b*Z2^3)
X5 = (X2*X3-a*Z2*Z3)^2-4*b*Z2*Z3*(X2*Z3+X3*Z2)
Z5 = X1*(X2*Z3-X3*Z2)^2