-
Notifications
You must be signed in to change notification settings - Fork 0
/
fermat1HC.jl
18 lines (16 loc) · 7.76 KB
/
fermat1HC.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using HomotopyContinuation, LinearAlgebra, DataFrames, CSV
@var a1, a2, a3, a4, a5, a6, b1, b2, b3, b4, b5
e1 = -4*a2^2*a6 - a6^3 - 8*a6^2 - 16*a6 + b1*b4^3;
e2 = -8*a1*a2*a6 - 4*a2^2*a5 - 3*a5*a6^2 - 16*a5*a6 - 16*a5 + 3*b1*b3*b4^2;
e3 = -4*a1^2*a6 - 8*a1*a2*a5 - 4*a2^2*a4 - 3*a4*a6^2 - 16*a4*a6 - 16*a4 - 3*a5^2*a6 - 8*a5^2 + 3*b1*b2*b4^2 + 3*b1*b3^2*b4;
e4 = -4*a1^2*a5 - 8*a1*a2*a4 - 4*a2^2*a3 - 3*a3*a6^2 - 16*a3*a6 - 16*a3 - 6*a4*a5*a6 - 16*a4*a5 - a5^3 + 6*b1*b2*b3*b4 + b1*b3^3 + 3*b1*b4^2;
e5 = -4*a1^2*a4 - 8*a1*a2*a3 - a2^3 - 3*a2*a6 - 4*a2 - 6*a3*a5*a6 - 16*a3*a5 - 3*a4^2*a6 - 8*a4^2 - 3*a4*a5^2 + 3*b1*b2^2*b4 + 3*b1*b2*b3^2 + 6*b1*b3*b4;
e6 = -4*a1^2*a3 - 3*a1*a2^2 - 3*a1*a6 - 4*a1 - 3*a2*a5 - 6*a3*a4*a6 - 16*a3*a4 - 3*a3*a5^2 - 3*a4^2*a5 + 3*b1*b2^2*b3 + 6*b1*b2*b4 + 3*b1*b3^2;
e7 = -3*a1^2*a2 - 3*a1*a5 - 3*a2*a4 - 3*a3^2*a6 - 8*a3^2 - 6*a3*a4*a5 - a4^3 + b1*b2^3 + 6*b1*b2*b3 + 3*b1*b4;
e8 = -a1^3 - 3*a1*a4 - 3*a2*a3 - 3*a3^2*a5 - 3*a3*a4^2 + 3*b1*b2^2 + 3*b1*b3;
e9 = -3*a1*a3 - 3*a3^2*a4 + 3*b1*b2 + 1;
e10 = -a3^3 + b1;
e11 = -a1^9*a3*a6^3*b5 - 4*a1^9*a3*a6^2*b5 + 3*a1^8*a2*a3*a5*a6^2*b5 + 8*a1^8*a2*a3*a5*a6*b5 + a1^8*a6^3*b5 + 4*a1^8*a6^2*b5 - 3*a1^7*a2^2*a3*a4*a6^2*b5 - 8*a1^7*a2^2*a3*a4*a6*b5 - 3*a1^7*a2^2*a3*a5^2*a6*b5 - 4*a1^7*a2^2*a3*a5^2*b5 - 3*a1^7*a2*a5*a6^2*b5 - 8*a1^7*a2*a5*a6*b5 + 8*a1^7*a3*a4*a6^2*b5 + 32*a1^7*a3*a4*a6*b5 - 4*a1^7*a3*a5^2*a6*b5 - 16*a1^7*a3*a5^2*b5 + 3*a1^6*a2^3*a3^2*a6^2*b5 + 8*a1^6*a2^3*a3^2*a6*b5 + 6*a1^6*a2^3*a3*a4*a5*a6*b5 + 8*a1^6*a2^3*a3*a4*a5*b5 + a1^6*a2^3*a3*a5^3*b5 + 3*a1^6*a2^2*a4*a6^2*b5 + 8*a1^6*a2^2*a4*a6*b5 + 3*a1^6*a2^2*a5^2*a6*b5 + 4*a1^6*a2^2*a5^2*b5 - 24*a1^6*a2*a3^2*a6^2*b5 - 96*a1^6*a2*a3^2*a6*b5 + 32*a1^6*a2*a3*a4*a5*b5 + 4*a1^6*a2*a3*a5^3*b5 + a1^6*a4*a6^3*b5 - 4*a1^6*a4*a6^2*b5 - 32*a1^6*a4*a6*b5 + 4*a1^6*a5^2*a6*b5 + 16*a1^6*a5^2*b5 - 6*a1^5*a2^4*a3^2*a5*a6*b5 - 8*a1^5*a2^4*a3^2*a5*b5 - 3*a1^5*a2^4*a3*a4^2*a6*b5 - 4*a1^5*a2^4*a3*a4^2*b5 - 3*a1^5*a2^4*a3*a4*a5^2*b5 - 11*a1^5*a2^3*a3*a6^2*b5 - 40*a1^5*a2^3*a3*a6*b5 - 6*a1^5*a2^3*a4*a5*a6*b5 - 8*a1^5*a2^3*a4*a5*b5 - a1^5*a2^3*a5^3*b5 + 24*a1^5*a2^2*a3^2*a5*a6*b5 - 32*a1^5*a2^2*a3*a4^2*b5 - 12*a1^5*a2^2*a3*a4*a5^2*b5 + 9*a1^5*a2*a3*a6^3*b5 + 92*a1^5*a2*a3*a6^2*b5 + 224*a1^5*a2*a3*a6*b5 - 3*a1^5*a2*a4*a5*a6^2*b5 - 8*a1^5*a2*a4*a5*a6*b5 - 32*a1^5*a2*a4*a5*b5 - 4*a1^5*a2*a5^3*b5 + 32*a1^5*a3^2*a5*a6*b5 + 128*a1^5*a3^2*a5*b5 - 16*a1^5*a3*a4^2*a6*b5 - 64*a1^5*a3*a4^2*b5 + 6*a1^4*a2^5*a3^2*a4*a6*b5 + 8*a1^4*a2^5*a3^2*a4*b5 + 3*a1^4*a2^5*a3^2*a5^2*b5 + 3*a1^4*a2^5*a3*a4^2*a5*b5 + 19*a1^4*a2^4*a3*a5*a6*b5 + 32*a1^4*a2^4*a3*a5*b5 + 3*a1^4*a2^4*a4^2*a6*b5 + 4*a1^4*a2^4*a4^2*b5 + 3*a1^4*a2^4*a4*a5^2*b5 - 16*a1^4*a2^3*a3^2*a4*a6*b5 + 64*a1^4*a2^3*a3^2*a4*b5 + 4*a1^4*a2^3*a3^2*a5^2*b5 + 16*a1^4*a2^3*a3*a4^2*a5*b5 + 8*a1^4*a2^3*a6^2*b5 + 32*a1^4*a2^3*a6*b5 - 21*a1^4*a2^2*a3*a5*a6^2*b5 - 88*a1^4*a2^2*a3*a5*a6*b5 + 64*a1^4*a2^2*a3*a5*b5 + 3*a1^4*a2^2*a4^2*a6^2*b5 + 8*a1^4*a2^2*a4^2*a6*b5 + 32*a1^4*a2^2*a4^2*b5 + 3*a1^4*a2^2*a4*a5^2*a6*b5 + 16*a1^4*a2^2*a4*a5^2*b5 + 32*a1^4*a2*a3^2*a4*a6*b5 + 128*a1^4*a2*a3^2*a4*b5 - 32*a1^4*a2*a3^2*a5^2*b5 + 16*a1^4*a2*a3*a4^2*a5*b5 - 8*a1^4*a2*a6^3*b5 - 64*a1^4*a2*a6^2*b5 - 128*a1^4*a2*a6*b5 - 4*a1^4*a3*a5*a6^2*b5 - 80*a1^4*a3*a5*a6*b5 - 256*a1^4*a3*a5*b5 - 8*a1^4*a4^2*a6^2*b5 - 16*a1^4*a4^2*a6*b5 + 64*a1^4*a4^2*b5 + 4*a1^4*a4*a5^2*a6*b5 + 16*a1^4*a4*a5^2*b5 - 3*a1^3*a2^6*a3^3*a6*b5 - 4*a1^3*a2^6*a3^3*b5 - 6*a1^3*a2^6*a3^2*a4*a5*b5 - a1^3*a2^6*a3*a4^3*b5 - 16*a1^3*a2^5*a3*a4*a6*b5 - 24*a1^3*a2^5*a3*a4*b5 - 8*a1^3*a2^5*a3*a5^2*b5 - 3*a1^3*a2^5*a4^2*a5*b5 + 12*a1^3*a2^4*a3^3*a6*b5 - 48*a1^3*a2^4*a3^3*b5 - 24*a1^3*a2^4*a3^2*a4*a5*b5 - 8*a1^3*a2^4*a3*a4^3*b5 - 13*a1^3*a2^4*a5*a6*b5 - 24*a1^3*a2^4*a5*b5 + 4*a1^3*a2^3*a3*a4*a6^2*b5 - 192*a1^3*a2^3*a3*a4*b5 + 19*a1^3*a2^3*a3*a5^2*a6*b5 + 8*a1^3*a2^3*a3*a5^2*b5 - 6*a1^3*a2^3*a4^2*a5*a6*b5 - 24*a1^3*a2^3*a4^2*a5*b5 - a1^3*a2^3*a4*a5^3*b5 - 48*a1^3*a2^2*a3^3*a6*b5 - 192*a1^3*a2^2*a3^3*b5 - 16*a1^3*a2^2*a3*a4^3*b5 + 18*a1^3*a2^2*a5*a6^2*b5 + 56*a1^3*a2^2*a5*a6*b5 - 64*a1^3*a2^2*a5*b5 - 8*a1^3*a2*a3*a4*a6^2*b5 - 128*a1^3*a2*a3*a4*a6*b5 - 384*a1^3*a2*a3*a4*b5 + 28*a1^3*a2*a3*a5^2*a6*b5 + 160*a1^3*a2*a3*a5^2*b5 - 48*a1^3*a2*a4^2*a5*b5 - 4*a1^3*a2*a4*a5^3*b5 - 64*a1^3*a3^3*a6*b5 - 256*a1^3*a3^3*b5 - a1^3*a5*a6^3*b5 + 48*a1^3*a5*a6*b5 + 128*a1^3*a5*b5 + 3*a1^2*a2^7*a3^3*a5*b5 + 3*a1^2*a2^7*a3^2*a4^2*b5 + 10*a1^2*a2^6*a3^2*a6*b5 + 12*a1^2*a2^6*a3^2*b5 + 13*a1^2*a2^6*a3*a4*a5*b5 + a1^2*a2^6*a4^3*b5 + 12*a1^2*a2^5*a3^3*a5*b5 + 24*a1^2*a2^5*a3^2*a4^2*b5 + 10*a1^2*a2^5*a4*a6*b5 + 16*a1^2*a2^5*a4*b5 + 5*a1^2*a2^5*a5^2*b5 + 18*a1^2*a2^4*a3^2*a6^2*b5 + 88*a1^2*a2^4*a3^2*a6*b5 + 144*a1^2*a2^4*a3^2*b5 - 15*a1^2*a2^4*a3*a4*a5*a6*b5 + 44*a1^2*a2^4*a3*a4*a5*b5 - 6*a1^2*a2^4*a3*a5^3*b5 + 3*a1^2*a2^4*a4^3*a6*b5 + 12*a1^2*a2^4*a4^3*b5 + 3*a1^2*a2^4*a4^2*a5^2*b5 + 16*a1^2*a2^3*a3^3*a5*b5 + 48*a1^2*a2^3*a3^2*a4^2*b5 + 4*a1^2*a2^3*a4*a6^2*b5 + 48*a1^2*a2^3*a4*a6*b5 + 128*a1^2*a2^3*a4*b5 - 16*a1^2*a2^3*a5^2*a6*b5 - 8*a1^2*a2^3*a5^2*b5 + 36*a1^2*a2^2*a3^2*a6^2*b5 + 288*a1^2*a2^2*a3^2*a6*b5 + 576*a1^2*a2^2*a3^2*b5 - 24*a1^2*a2^2*a3*a4*a5*a6*b5 - 80*a1^2*a2^2*a3*a4*a5*b5 - 24*a1^2*a2^2*a3*a5^3*b5 + 48*a1^2*a2^2*a4^3*b5 + 12*a1^2*a2^2*a4^2*a5^2*b5 + 64*a1^2*a2*a3^3*a5*b5 - 6*a1^2*a2*a4*a6^3*b5 - 32*a1^2*a2*a4*a6^2*b5 + 32*a1^2*a2*a4*a6*b5 + 256*a1^2*a2*a4*b5 + 3*a1^2*a2*a5^2*a6^2*b5 - 16*a1^2*a2*a5^2*a6*b5 - 112*a1^2*a2*a5^2*b5 + 48*a1^2*a3^2*a6^2*b5 + 384*a1^2*a3^2*a6*b5 + 768*a1^2*a3^2*b5 - 48*a1^2*a3*a4*a5*a6*b5 - 192*a1^2*a3*a4*a5*b5 + 16*a1^2*a4^3*a6*b5 + 64*a1^2*a4^3*b5 - 3*a1*a2^8*a3^3*a4*b5- a1*a2^8*a3*b5 - 7*a1*a2^7*a3^2*a5*b5 - 5*a1*a2^7*a3*a4^2*b5 - 28*a1*a2^6*a3^3*a4*b5 - 11*a1*a2^6*a3*a6*b5 - 24*a1*a2^6*a3*b5 - 7*a1*a2^6*a4*a5*b5 - 15*a1*a2^5*a3^2*a5*a6*b5 - 76*a1*a2^5*a3^2*a5*b5 + 3*a1*a2^5*a3*a4^2*a6*b5 - 36*a1*a2^5*a3*a4^2*b5 + 9*a1*a2^5*a3*a4*a5^2*b5 - 3*a1*a2^5*a4^3*a5*b5 - 80*a1*a2^4*a3^3*a4*b5 - 19*a1*a2^4*a3*a6^2*b5 - 124*a1*a2^4*a3*a6*b5 - 192*a1*a2^4*a3*b5 + 2*a1*a2^4*a4*a5*a6*b5 - 44*a1*a2^4*a4*a5*b5 + 5*a1*a2^4*a5^3*b5 - 80*a1*a2^3*a3^2*a5*a6*b5 - 272*a1*a2^3*a3^2*a5*b5 + 16*a1*a2^3*a3*a4^2*a6*b5 - 48*a1*a2^3*a3*a4^2*b5 + 48*a1*a2^3*a3*a4*a5^2*b5 - 16*a1*a2^3*a4^3*a5*b5 - 64*a1*a2^2*a3^3*a4*b5 - 9*a1*a2^2*a3*a6^3*b5 - 112*a1*a2^2*a3*a6^2*b5 - 464*a1*a2^2*a3*a6*b5 - 640*a1*a2^2*a3*b5 + 9*a1*a2^2*a4*a5*a6^2*b5 + 32*a1*a2^2*a4*a5*a6*b5 - 16*a1*a2^2*a4*a5*b5 - 3*a1*a2^2*a5^3*a6*b5 + 16*a1*a2^2*a5^3*b5 - 80*a1*a2*a3^2*a5*a6*b5 - 320*a1*a2*a3^2*a5*b5 + 16*a1*a2*a3*a4^2*a6*b5 + 64*a1*a2*a3*a4^2*b5 + 48*a1*a2*a3*a4*a5^2*b5 - 16*a1*a2*a4^3*a5*b5 - 12*a1*a3*a6^3*b5 - 144*a1*a3*a6^2*b5 - 576*a1*a3*a6*b5 - 768*a1*a3*b5 + 12*a1*a4*a5*a6^2*b5 + 96*a1*a4*a5*a6*b5 + 192*a1*a4*a5*b5 - 4*a1*a5^3*a6*b5 - 16*a1*a5^3*b5 + a2^9*a3^4*b5 + 4*a2^8*a3^2*a4*b5 + a2^8*b5 + 12*a2^7*a3^4*b5 + 4*a2^7*a3*a5*b5 + 2*a2^7*a4^2*b5 + 4*a2^6*a3^2*a4*a6*b5 + 48*a2^6*a3^2*a4*b5 + 2*a2^6*a3^2*a5^2*b5 - 4*a2^6*a3*a4^2*a5*b5 + a2^6*a4^4*b5 + 4*a2^6*a6*b5 + 16*a2^6*b5 + 48*a2^5*a3^4*b5 + 8*a2^5*a3*a5*a6*b5 + 48*a2^5*a3*a5*b5 + 4*a2^5*a4^2*a6*b5 + 24*a2^5*a4^2*b5 - 4*a2^5*a4*a5^2*b5 + 32*a2^4*a3^2*a4*a6*b5 + 192*a2^4*a3^2*a4*b5 + 16*a2^4*a3^2*a5^2*b5 - 32*a2^4*a3*a4^2*a5*b5 + 8*a2^4*a4^4*b5 + 6*a2^4*a6^2*b5 + 48*a2^4*a6*b5 + 96*a2^4*b5 + 64*a2^3*a3^4*b5 + 4*a2^3*a3*a5*a6^2*b5 + 64*a2^3*a3*a5*a6*b5 + 192*a2^3*a3*a5*b5 + 2*a2^3*a4^2*a6^2*b5 + 32*a2^3*a4^2*a6*b5 + 96*a2^3*a4^2*b5 - 4*a2^3*a4*a5^2*a6*b5 - 32*a2^3*a4*a5^2*b5 + a2^3*a5^4*b5 + 64*a2^2*a3^2*a4*a6*b5 + 256*a2^2*a3^2*a4*b5 + 32*a2^2*a3^2*a5^2*b5 - 64*a2^2*a3*a4^2*a5*b5 + 16*a2^2*a4^4*b5 + 4*a2^2*a6^3*b5 + 48*a2^2*a6^2*b5 + 192*a2^2*a6*b5 + 256*a2^2*b5 + 16*a2*a3*a5*a6^2*b5 + 128*a2*a3*a5*a6*b5 + 256*a2*a3*a5*b5 + 8*a2*a4^2*a6^2*b5 + 64*a2*a4^2*a6*b5 + 128*a2*a4^2*b5 - 16*a2*a4*a5^2*a6*b5 - 64*a2*a4*a5^2*b5 + 4*a2*a5^4*b5 + a6^4*b5 + 16*a6^3*b5 + 96*a6^2*b5 + 256*a6*b5 + 256*b5 - 1
es = [ e1; e2; e3; e4; e5; e6; e7; e8; e9; e10; e11];
R = System(es, variables = [a1, a2, a3, a4, a5, a6, b1, b2, b3, b4, b5]);
s = solve(R);