Question: How to quickly find explicit formula for roots of polynomials (solvable by radicals) like $f(x)=x^8+5992704x-304129728$?
My current approach is just a brute force - not very fast and convenient:
- observe that Galois group of above $f(x)$ is $C_2 \wr S_4$, so one needs to find quartic polynomial $g(x)=x^4+cx^2+dx+e$ such that $f(x)$ splits into quadratic (and sextic) polynomial over it
- iterate over small integer triples $c,d,e$ until correct $g(x)$ is found
- to speed up the process I limited $g(x)$ to such that $\Delta(g(x))$ divides $\Delta(f(x))$ - here $\Delta$ means discriminant
More explicitly, using GAP system:
x:=Indeterminate(Rationals, "x");
f:=x^8+5992704*x-304129728;
discrF:=Discriminant(f);
# define some arbitrary range of the c,d,e coefficients
for c in [-40..40] do
for d in [1..6000] do
for e in [-30000..30000] do
# small perf trick, calculate discriminant
# without actual construction of g(x)
discrG:=256*e^3-128*c^2*e^2+144*c*d^2*e-27*d^4+16*c^4*e-4*c^3*d^2;
if (discrG <> 0 and discrF mod discrG = 0) then
g:=x^4+c*x^2+d*x+e;
if IsIrreducible(g) then
e:=AlgebraicExtension(Rationals,g);
factors:=FactorsPolynomialAlgExt(e, f);
if Size(factors) > 1 then
Print("Success: g(x)=", g," : factors=", factors,"\n");
fi;
fi;
fi;
od;
od;
od;
Couple hours later...:
- $g(x)=x^4-34x^2+1632x-7871$
- $f(x)=\{ x^2+(-a^3/56-a^2/56+89a/56-1207/56)x+(3a^3/28+6a^2/7+153a/28+459/7) \}\times\{x^6+(a^3/56+a^2/56-89a/56+1207/56)x^5+(3a^3/28+33a^2/14+153a/28+561/14)x^4+(-27a^3/14-153a^2/14+2907a/14-4743/14)x^3+(-153a^2-3060a+4437)x^2+(-153a^3/7+8415a^2/7+13617a/7-2078199/7)x+(-2754a^3-5508a^2+109242a-2465748) \}$
where $g(a) = 0$
Now one can find (very long and fancy) explicit expression for roots of $f(x)$, using only $+$, $-$, $\times$, $\div$, and $\sqrt{}$ operations.
Loosely related question: On solvable octic trinomials like $x^8-5x-5=0$