Remove imaginary numbers from the solution of a polynom of 3rd degree

I try to solve the following expression:

Solve[100 - 20 x - 8 x^2 + x^3 == 0, {x}]

and get as output terms containing complicated expressions using the imaginary unit (highlight added by me).

Evaluating the solutions numerically, it shows that they are all appearantly real:

N[Solve[100 - 20 x - 8 x^2 + x^3 == 0, {x}], 50]

2014-01-09_03-38-21.png

the imaginary part is 0. x 10^-50. A plot of the function also shows the real zeros at -3.8…, 2.8… and 8.9…:

Plot[100 - 20 x - 8 x^2 + x^3, {x, -10, 10}]

What can I do the have the result returned by Solve modified not to use complex numbers, but only square and cube roots?

In[1]:= Reduce[100 - 20 x - 8 x^2 + x^3 == 0, x] /. Root[v__] :> Chop[N[ToRadicals[Root[v]], 50]]

Out[1]= x == -3.8656687649674311220365390976805947881525760316928 || 
 x == 2.8783657396921976676323765210733763889556975964908 || 
 x == 8.9873030252752334544041625766072183991968784352020

Chop[] is one way to eliminate extremely tiny components from numbers, real and complex.

Hi Bill,

thank you for your reply. But that’s not exactly what i want. I am not interested in a numeric solution but in a symbolic solution with radicals etc, that does not contain “i”.

Regards,

Thomas

I’m very sorry. I misunderstood your goal.

Try this and see if it is acceptable. I hope that ComplexExpand has not introduced errors. I realize it has rearranged the x into a position you may not desire. The other methods I tried kept falling back into Root objects. Perhaps someone else will contribute a better solution for you.

Simplify[ComplexExpand[ToRadicals[Reduce[100 - 20 x - 8 x^2 + x^3 == 0, x]]]]

Much better!

Now i will get out my trig book and find a formula for Cos[1/3 ArcTan] and Sin[1/3 ArcTan]

Thank you so far,

Thomas

Solve[100 - 20 x - 8 x^2 + x^3 == 0, {x}] // ComplexExpand // Simplify
{{x -> -(4/
     3) (-2 + Sqrt[31] Cos[1/3 ArcTan[(15 Sqrt[2103])/59]])}, {x -> 
   2/3 (4 + Sqrt[31] Cos[1/3 ArcTan[(15 Sqrt[2103])/59]] - 
      Sqrt[93] Sin[1/3 ArcTan[(15 Sqrt[2103])/59]])}, {x -> 
   2/3 (4 + Sqrt[31] Cos[1/3 ArcTan[(15 Sqrt[2103])/59]] + 
      Sqrt[93] Sin[1/3 ArcTan[(15 Sqrt[2103])/59]])}}
N[%, 50]
{{x -> -3.8656687649674311220365390976805947881525760316928}, {x -> 
   2.8783657396921976676323765210733763889556975964908}, {x -> 
   8.9873030252752334544041625766072183991968784352020}}