三次方程程式輸入法

操作原理

方程 Ax3 + Bx2 + Cx + D = 0,可寫成 x3 + ax2 + bx + c = 0 (其中 a = B/Ab = C/Ac = D/A )。

一般解
例子
x3 + ax2 + bx + c = 0 x3 3x2 9x + 27 = 0
,得y3 + py + q = 0,其中 x = y + 1,得 y3 12y + 16 = 0
,得 ,得 (z3)2 + 16z3 + 64 = 0

z3,得,其中

z3,得z3=8 (重根)
,由根與系數之關係得知,s3+t3=q3st=p s = 2,t = 2
(s + t ) 是 y3 + py + q = 0 的一個根。
[ 直接驗證︰
(s + t )3 + p (s + t ) + q
= ( s3 + 3s2t + 3st2 + t3 ) + p (s + t ) + q
= ( s3 + t3 + q ) + 3st (s + t ) + p (s + t )
= (q + q ) p (s + t ) + p (s + t )
= 0 ]
(s + t ) = 4是 y3 12y + 16 = 0 的一個根。
代換得為原方程的其中一個根 x = 3是其中一個根
因式分解原方程,求得餘下的兩個根
x3 3x2 9x + 27 = 0
(x + 3)(x2 6x + 9) = 0
x = 3 或 3 (重根)

注意事項

1. r > 0,t 都是實數。但當 r < 0,r 不是實數,這時t 都不是實數但即使如此,他們都必定 in conjugate pair。因此,t 必定是實數也必是一實根 (real root)。

2. 在計算 s + t 時,要使計數機能判斷(1)的兩種情形,可透過另一個數 k,其中 k = 1(r > 0),k = 0 (r < 0)。那末

3. 當方程有重根時,r = 0。但由於計算誤差的緣故,計算機卻可能把它搞成一個小負數,從而錯計k = 0。解決這問題,可以把r 捨至若干個小數位,但這樣卻無可避免減低了答案的精度。