Вот как я думаю:
1. берём уравнение a*x^3 + b*x^2 + c*x + d = 0
2. заменяем х на у, да так чтоб x = y - (b / 3*a),
3. приводим к более простому (каноническом) виду: y^3 + p*y + q = 0,
4. вводим р= -(b^2 / 3*a^2) + c/a и вводим q= (2*b / 27*a^3) - (b*c / 3*a^2) + b/a
5. с помошью формулы Кардано находим у, только я не пойму формулу (я только в 8-ом классе) kardano.png, напишите плиз, мне её в виде кода!
6. теперь если q^2/4 + p^3/27 > 0 , то кубическое уравнение имеет три различных корня: один из них действительный, два других - сопряженные комплексные;
если q^2/4 + p^3/27 = 0, то все три корня действительные, два из них равны
если q^2/4 + p^3/27 < 0, то все три корня действительные и различные.
чё-то я запутался...
А можно было приведя к каноническому виду найти значения p и q, а затем найти "y", используя дискриминант (D = -4p3 - 27q2) только как находится "y" дальше, уже с найденным дискриминантом? (также как x1 и x2 в квадратных уравнениях)
Обязательно ознакомьтесь с материалом на странице

