#Author := Ayoola Jinadu # If you find a bug in the code please email me at ajinadu@sfu.ca Sys := [ aa * t2^2 * t1^2 * b2^2 * b1^2 + 2 * l1 * t1^2 * b2^2 * b1^2 + aa * t1^2 * b2^2 * b1^2 - 2 * l1 * t2^2 * b2^2 * b1^2 + aa * t2^2 * b2^2 * b1^2 + aa * b2^2 * b1^2 + 2 * l2 * t2^2 * t1^2 * b1^2 + aa * t2^2 * t1^2 * b1^2 + 2 * l2 * t1^2 * b1^2 + 2 * l1 * t1^2 * b1^2 + aa * t1^2 * b1^2 + 2 * l2 * t2^2 * b1^2 - 2 * l1 * t2^2 * b1^2 + aa * t2^2 * b1^2 + 2 * l2 * b1^2 + aa * b1^2 - 2 * l2 * t2^2 * t1^2 * b2^2 + aa * t2^2 * t1^2 * b2^2 - 2 * l2 * t1^2 * b2^2 + 2 * l1 * t1^2 * b2^2 + aa * t1^2 * b2^2 - 2 * l2 * t2^2 * b2^2 - 2 * l1 * t2^2 * b2^2 + aa * t2^2 * b2^2 - 2 * l2 * b2^2 + aa * b2^2 + aa * t2^2 * t1^2 + 2 * l1 * t1^2 + aa * t1^2 - 2 * l1 * t2^2 + aa * t2^2 + aa, 2 * l1 * t2 * t1^2 * b2^2 * b1^2 - 2 * l1 * t2^2 * t1 * b2^2 * b1^ 2 - 2 * l1 * t1 * b2^2 * b1^2 + 2 * l1 * t2 * b2^2 * b1^2 + 2 * l2 * t2^2 * t1^2 * b2 * b1^2 + 2 * l2 * t1^2 * b2 * b1^2 + 2 * l2 * t2^2 * b2 * b1^2 + 2 * l2 * b2 * b1^2 + 2 * l1 * t2 * t1^2 * b1^2 - 2 * l1 * t2^2 * t1 * b1^ 2 - 2 * l1 * t1 * b1^2 + 2 * l1 * t2 * b1^2 - 2 * l2 * t2^2 * t1^2 * b2^2 * b1 - 2 * l2 * t1^2 * b2^2 * b1 - 2 * l2 * t2^2 * b2^2 * b1 - 2 * l2 * b2^2 * b1 - 2 * l2 * t2^2 * t1^ 2 * b1 - 2 * l2 * t1^2 * b1 - 2 * l2 * t2^2 * b1 - 2 * l2 * b1 + 2 * l1 * t2 * t1^2 * b2^2 - 2 * l1 * t2^2 * t1 * b2^2 - 2 * l1 * t1 * b2^2 + 2 * l1 * t2 * b2^2 + 2 * l2 * t2^2 * t1^2 * b2 + 2 * l2 * t1^2 * b2 + 2 * l2 * t2^2 * b2 + 2 * l2 * b2 + 2 * l1 * t2 * t1^2 - 2 * l1 * t2^2 * t1 - 2 * l1 * t1 + 2 * l1 * t2, - al^2 * x * t1^2 * b1^2 - x * t1^2 * b1^2 - l3 * al^2 * t1^2 * b1^2 - l2 * al^2 * t1^2 * b1^2 - l1 * al^2 * t1^2 * b1^2 + l3 * t1^2 * b1^2 - l2 * t1^2 * b1^2 - l1 * t1^2 * b1^2 - al^2 * x * b1^2 - x * b1^2 - l3 * al^2 * b1^2 - l2 * al^2 * b1^2 + l1 * al^2 * b1^2 + l3 * b1^2 - l2 * b1^2 + l1 * b1^2 - 4 * l3 * al * t1^2 * b1 - 4 * l3 * al * b1 - al^2 * x * t1^2 - x * t1^2 + l3 * al^2 * t1^2 + l2 * al^2 * t1^2 - l1 * al^2 * t1^2 - l3 * t1^2 + l2 * t1^2 - l1 * t1^2 - al^2 * x - x + l3 * al^2 + l2 * al^2 + l1 * al^2 - l3 + l2 + l1, - al^2 * y * t1^2 * b1^2 - y * t1^2 * b1^2 - 2 * l3 * al * t1^2 * b1^2 + 2 * l1 * al^2 * t1 * b1^2 + 2 * l1 * t1 * b1^2 - al^2 * y * b1^2 - y * b1^2 - 2 * l3 * al * b1^2 + 2 * l3 * al^2 * t1^2 * b1 + 2 * l2 * al^2 * t1^2 * b1 - 2 * l3 * t1^2 * b1 + 2 * l2 * t1^2 * b1 + 2 * l3 * al^2 * b1 + 2 * l2 * al^2 * b1 - 2 * l3 * b1 + 2 * l2 * b1 - al^2 * y * t1^2 - y * t1^2 + 2 * l3 * al * t1^2 + 2 * l1 * al^2 * t1 + 2 * l1 * t1 - al^2 * y - y + 2 * l3 * al]: elim := [t2,b1,b2]; read det; read newdeg; read dixon;read minor; read dixres; read nextprime; read Bmbot; with(LinearAlgebra): M := dixonmatrix( Sys, elim ): rank,rows,cols := minor(M): B := M[rows,cols]: # extract minor L := StronglyConnectedBlocks(B): BlockStructure = map(RowDimension,L); X := [t1, aa, al, l1, l2, l3, x, y]; R := convert(L[1],listlist): n := RowDimension(R); LL := R: deg_M := [seq( max(seq(seq(degree(LL[i][j],var),i=1..n),j=1..n)), var in X )]; rt := [R,X,n ]: GlobalCArray := Array(0..n-1,0..n-1,order=C_order,datatype=integer[8]): E := DixonRes(BB,X); nops( expand(E) );