Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static num[] Solve(num a, num b, num c, num d, num e)
- {
- var p = b / (4 * a);
- var q = (2 * c) / (3 * a);
- var r = c * c - 3 * b * d + 12 * a * e;
- var s = 2 * c * c - 9 * b * c * d + 27 * a * d * d + 27 * e * b * b - 72 * a * c * e;
- var t = -(b.Pow(3) / a.Pow(3)) + (4 * b * c) / a.Pow(2) - (8 * d) / a;
- var v_1 = (s + (-4 * r.Pow(3) + s.Pow(2)).Sqrt()).Sqrt3();
- var v_2 = new num(2).Sqrt3();
- var v_l = v_2 * r / (3 * a * v_1);
- var v_r = v_1 / (3 * v_2 * a);
- var v = v_l + v_r;
- var x_0 = (4 * p.Pow(2) - q + v).Sqrt();
- var x_l = x_0 / 2;
- var x_r = (8 * p.Pow(2) - 2 * q - v - t / (4 * x_0)) / 2;
- var x1 = -p - x_l - x_r;
- var x2 = -p - x_l + x_r;
- var x3 = -p + x_l - x_r;
- var x4 = -p + x_l + x_r;
- return new[] { x1, x2, x3, x4 };
- }
Add Comment
Please, Sign In to add comment