三次多项式的一般解,在数学史上被称为卡尔达诺公式(Cardano’s formula)

相比于初中学的极其简洁的一元二次方程求根公式(x=b±b24ac2ax = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}),三次方程的求解过程要宏大得多,堪称16世纪代数学的最高巅峰

如果我直接把写满 a,b,c,da,b,c,d 的最终公式丢给你,那将是一长串毫无美感的字符乱码。所以,我将用最符合直觉的逻辑,带你重走一遍当年天才数学家们的**“降维打击”**之路。你会发现,它的推导过程比公式本身漂亮一万倍。

假设我们有一个最一般的三次方程:
ax3+bx2+cx+d=0(a0) ax^3 + bx^2 + cx + d = 0 \quad (a \neq 0)

为了方便,我们先两边同除以 aa,把最高次项系数变成 1:
x3+Bx2+Cx+D=0 x^3 + Bx^2 + Cx + D = 0

接下来,只需三步绝妙的代换,就能彻底破解它。


第一步:消去二次项(平移降维)

二次方程里,我们会用“配方法”把 ax2+bx+cax^2 + bx + c 变成 (x+m)2+n(x + m)^2 + n
三次方程同理!为了消去烦人的二次项 Bx2Bx^2,我们引入一个平移代换:
x=tB3x = t - \frac{B}{3}

为什么是 B3\frac{B}{3}?因为当你把 (tB3)3(t - \frac{B}{3})^3 展开时,会产生一个 3t2B3=Bt2-3 \cdot t^2 \cdot \frac{B}{3} = -Bt^2 的项,它刚好和原来的 +Bt2+Bt^2 完美抵消

代入并化简后,方程里就没有二次项了,它变成了一个极其干净的“缺项三次方程”:
t3+pt+q=0 t^3 + pt + q = 0
(这里的 ppqq 是由原来的 B,C,DB, C, D 算出来的新常数,具体是多少不重要,我们只需要知道它们是已知数)。


第二步:天才的劈裂(韦达代换)

现在我们要解 t3+pt+q=0t^3 + pt + q = 0
这是全篇最神来之笔的一步。数学家想:一个变量 tt 太难搞了,那我把它劈成两半

t=u+vt = u + v

把这个代回方程:
(u+v)3+p(u+v)+q=0 (u+v)^3 + p(u+v) + q = 0
展开左边的立方和:
(u3+v3+3u2v+3uv2)+p(u+v)+q=0 (u^3 + v^3 + 3u^2v + 3uv^2) + p(u+v) + q = 0
把中间两项提取公因式 3uv3uv
(u3+v3)+3uv(u+v)+p(u+v)+q=0 (u^3 + v^3) + 3uv(u+v) + p(u+v) + q = 0
把含有 (u+v)(u+v) 的项合并:
(u3+v3)+(3uv+p)(u+v)+q=0 (u^3 + v^3) + (3uv + p)(u+v) + q = 0

奇迹就在这里发生!因为 t=u+vt = u+v 是我们自己设的,我们拥有极大的自由度。为了让这个恐怖的式子消失,我们强行命令中间那个括号等于 0:
3uv+p=03uv + p = 0 (即 uv=p3uv = -\frac{p}{3}

如果中间项没了,剩下的方程就变成了:
u3+v3+q=0u^3 + v^3 + q = 0 (即 u3+v3=qu^3 + v^3 = -q


第三步:化身二次方程(韦达定理的逆向召唤)

现在,我们把求 tt 的问题,变成了解一个关于 uuvv 的方程组:

  1. u3+v3=qu^3 + v^3 = -q (两个数的和)
  2. u3v3=(p3)3=p327u^3 \cdot v^3 = (-\frac{p}{3})^3 = -\frac{p^3}{27} (两个数的积)

看到这里,高中的数学记忆是不是被唤醒了?
已知两个数的“和”与“积”,求这两个数,这不就是韦达定理的逆运算吗!

这就意味着,u3u^3v3v^3 恰好是一个一元二次方程的两个根!
我们构造这个隐形的二次方程(设未知数为 ZZ):
Z2()Z+()=0 Z^2 - (\text{和})Z + (\text{积}) = 0
Z2+qZp327=0 Z^2 + qZ - \frac{p^3}{27} = 0

终于,我们把不可一世的三次方程,降维成了一个我们初中就会解的二次方程!
直接套用二次方程求根公式求 ZZ
Z=q±q24(p327)2=q2±q24+p327 Z = \frac{-q \pm \sqrt{q^2 - 4(-\frac{p^3}{27})}}{2} = -\frac{q}{2} \pm \sqrt{\frac{q^2}{4} + \frac{p^3}{27}}

因为 ZZ 的两个根分别是 u3u^3v3v^3,所以:
u3=q2+q24+p327 u^3 = -\frac{q}{2} + \sqrt{\frac{q^2}{4} + \frac{p^3}{27}}
v3=q2q24+p327 v^3 = -\frac{q}{2} - \sqrt{\frac{q^2}{4} + \frac{p^3}{27}}

把它们分别开立方,得到 uuvv
别忘了我们的初心: t=u+vt = u + v

最终的卡尔达诺公式

uuvv 加起来,我们就得到了缺项三次方程 t3+pt+q=0t^3 + pt + q = 0 的根:

t=q2+q24+p3273+q2q24+p3273 t = \sqrt[3]{-\frac{q}{2} + \sqrt{\frac{q^2}{4} + \frac{p^3}{27}}} + \sqrt[3]{-\frac{q}{2} - \sqrt{\frac{q^2}{4} + \frac{p^3}{27}}}

最后,再把 tt 代回 x=tB3x = t - \frac{B}{3},就能得到最初方程 xx 的解。这就是三次方程的一般解!


历史的绝对高潮:虚数的诞生

如果你觉得上面的推导仅仅是技巧的堆砌,那你就错过了数学史上最伟大的“宇宙Bug修复”事件。

请盯着公式里那个平方根: q24+p327\sqrt{\frac{q^2}{4} + \frac{p^3}{27}}
如果根号里面的数(判别式)小于 0,会发生什么?

在解二次方程时,如果根号里是负数,数学家会直接说:“此方程无实数解”,然后下班回家。
但是在三次方程里,这招行不通了!

16世纪的数学家邦贝利(Rafael Bombelli)遇到了一个极其诡异的方程:
x315x4=0x^3 - 15x - 4 = 0
(这里 p=15,q=4p=-15, q=-4

哪怕是小学生也能看出来,x=4x=4 显然是这个方程的一个实数根4315×44=64604=04^3 - 15\times4 - 4 = 64 - 60 - 4 = 0)。
但是,当邦贝利把 ppqq 代入卡尔达诺公式时,根号里的算式变成了:
(4)24+(15)327=4125=121\frac{(-4)^2}{4} + \frac{(-15)^3}{27} = 4 - 125 = \mathbf{-121}

卡尔达诺公式给出的解是:
t=2+1213+21213t = \sqrt[3]{2 + \sqrt{-121}} + \sqrt[3]{2 - \sqrt{-121}}

数学家们崩溃了。
明明客观存在一个实实在在的解(x=4x=4),但代表最高真理的公式,却强迫他们必须先穿越一片名为“负数开平方”的禁忌幽灵地带,才能到达这个真实的解。

为了让公式能够自洽地算出 44,邦贝利硬着头皮,假装 1\sqrt{-1} 是一个像普通数字一样的实体,强行带入进行代数运算,最后惊奇地发现,两边虚无缥缈的虚数部分竟然正负抵消了,刚好剩下了实实在在的 44

这就是数学史上“虚数(ii)”真正的起源。
虚数不是为了解二次方程发明的,而是三次方程在向人类揭示它真实的实数根时,逼着人类去承认高维空间(复平面)存在的副产物。

理解了三次多项式的解法,你就不仅理解了代数的降维艺术,更见证了人类第一次触碰虚数那一刻的震撼。