前段时间看到了一道十分有趣的数学题,如下
x
+
y
+
z
=
1
x
2
+
y
2
+
z
2
=
2
x
3
+
y
3
+
z
3
=
3
⋯
x
5
+
y
5
+
z
5
=
?
\begin{aligned} &x+y+z=1 \\ &x^2+y^2+z^2=2 \\ &x^3+y^3+z^3=3 \\ &\cdots \\ &x^5+y^5+z^5=? \end{aligned}
x+y+z=1x2+y2+z2=2x3+y3+z3=3⋯x5+y5+z5=?
这规律看着挺明显哈,那
x
5
+
y
5
+
z
5
x^5+y^5+z^5
x5+y5+z5肯定等于
5
5
5啊,这题小学僧都随便做~那很不好意思哦,这道题的答案其实是
6
6
6(笑。
我们先从一个最简单的做法做起,显然
x
,
y
,
z
x,y,z
x,y,z是如下方程的解
(
r
−
x
)
(
r
−
y
)
(
r
−
z
)
=
0
=
>
r
3
−
(
x
+
y
+
z
)
r
2
+
(
x
y
+
y
z
+
x
z
)
r
−
x
y
z
=
0
(1)
\begin{aligned} &(r-x)(r-y)(r-z)=0 \\ =>&r^3-(x+y+z)r^2+(xy+yz+xz)r-xyz=0 \tag{1}\\ \end{aligned}
=>(r−x)(r−y)(r−z)=0r3−(x+y+z)r2+(xy+yz+xz)r−xyz=0(1)
-
x + y + z = 1 x+y+z=1 x+y+z=1
-
( x + y + z ) 2 = x 2 + y 2 + z 2 + 2 ( x y + y z + x z ) = > x y + y z + x z = 1 − 2 2 = − 1 2 (x+y+z)^2=x^2+y^2+z^2 +2(xy+yz+xz) => xy+yz+xz={1-2 \over 2} = -{1 \over 2} (x+y+z)2=x2+y2+z2+2(xy+yz+xz)=>xy+yz+xz=21−2=−21
-
x 3 + y 3 + z 3 − 3 x y z = ( x + y + z ) ( x 2 + y 2 + z 2 − ( x y + y z + x z ) ) = > x y z = 3 − 1 × ( 2 + 1 2 ) 3 = 1 6 x^3+y^3+z^3-3xyz=(x+y+z)(x^2+y^2+z^2-(xy+yz+xz))=>xyz={3-1 \times (2+{1\over2}) \over 3}={1\over6} x3+y3+z3−3xyz=(x+y+z)(x2+y2+z2−(xy+yz+xz))=>xyz=33−1×(2+21)=61
将上述三个式子代入
(
1
)
(1)
(1)式有
r
3
−
r
2
−
1
2
r
−
1
6
=
0
(2)
r^3-r^2-{1\over2}r-{1\over6}=0 \tag{2}
r3−r2−21r−61=0(2)
这里
r
=
x
,
y
,
z
r=x,y,z
r=x,y,z的时候等式成立,那么对
(
2
)
(2)
(2)式,我们左乘个
r
r
r就有
r
4
−
r
3
−
1
2
r
2
−
1
6
r
=
0
r^4-r^3-{1\over2}r^2-{1\over6}r=0
r4−r3−21r2−61r=0
然后分别将
x
,
y
,
z
x,y,z
x,y,z代入可以得到
{
x
4
−
x
3
−
1
2
x
2
−
1
6
x
=
0
y
4
−
y
3
−
1
2
y
2
−
1
6
y
=
0
z
4
−
z
3
−
1
2
z
2
−
1
6
z
=
0
\begin{cases} x^4-x^3-{1\over2}x^2-{1\over6}x=0 \\ y^4-y^3-{1\over2}y^2-{1\over6}y=0 \\ z^4-z^3-{1\over2}z^2-{1\over6}z=0 \end{cases}
⎩⎪⎨⎪⎧x4−x3−21x2−61x=0y4−y3−21y2−61y=0z4−z3−21z2−61z=0
三个式子相加,那么有
(
x
4
+
y
4
+
z
4
)
−
(
x
3
+
y
3
+
z
3
)
−
1
2
(
x
2
+
y
2
+
z
2
)
−
1
6
(
x
+
y
+
z
)
=
0
(x^4+y^4+z^4)-(x^3+y^3+z^3)-{1\over2}(x^2+y^2+z^2)-{1\over6}(x+y+z)=0
(x4+y4+z4)−(x3+y3+z3)−21(x2+y2+z2)−61(x+y+z)=0
那么可以得到
x
4
+
y
4
+
z
4
=
3
+
1
2
×
2
+
1
6
=
25
6
x^4+y^4+z^4=3+{1\over2}\times2+{1\over6}={25\over6}
x4+y4+z4=3+21×2+61=625
同理我们对
(
2
)
(2)
(2)式左右同乘
r
2
r^2
r2,那么就有
r
5
−
r
4
−
1
2
r
3
−
1
6
r
2
=
0
r^5-r^4-{1\over2}r^3-{1\over6}r^2=0
r5−r4−21r3−61r2=0
分别代入
x
,
y
,
z
x,y,z
x,y,z相加,就有
(
x
5
+
y
5
+
z
5
)
−
(
x
4
+
y
4
+
z
4
)
−
1
2
(
x
3
+
y
3
+
z
3
)
−
1
6
(
x
2
+
y
2
+
z
2
)
=
0
(x^5+y^5+z^5)-(x^4+y^4+z^4)-{1\over2}(x^3+y^3+z^3)-{1\over6}(x^2+y^2+z^2)=0
(x5+y5+z5)−(x4+y4+z4)−21(x3+y3+z3)−61(x2+y2+z2)=0
那么就有
(
x
5
+
y
5
+
z
5
)
=
25
6
+
1
2
×
3
+
1
6
×
2
=
6
(x^5+y^5+z^5)={25\over6} + {1\over 2} \times3+{1\over6}\times2=6
(x5+y5+z5)=625+21×3+61×2=6
这题到这里应该就结束了,但是我们要善于思考嘛,那
x
n
+
y
n
+
z
n
x^n+y^n+z^n
xn+yn+zn呢?注意到
(
2
)
(2)
(2)式隐含的信息,假如我们令数列
a
n
=
x
n
+
y
n
+
z
n
a_n=x^n+y^n+z^n
an=xn+yn+zn,那么显然有
a
1
=
1
,
a
2
=
2
,
a
3
=
3
a_1=1,a_2=2,a_3=3
a1=1,a2=2,a3=3,此外根据刚才的运算,我们知道
a
n
−
a
n
−
1
−
1
2
a
n
−
2
−
1
6
a
n
−
3
=
0
a_{n}-a_{n-1}-{1\over2}a_{n-2}-{1\over6}a_{n-3}=0
an−an−1−21an−2−61an−3=0
那么依照矩阵求解递推式的原理,我们容易写出如下等式组
{
a
n
=
a
n
−
1
+
1
2
a
n
−
2
+
1
6
a
n
−
3
a
n
−
1
=
a
n
−
1
a
n
−
2
=
a
n
−
2
\begin{cases} a_{n}=a_{n-1}+{1\over2}a_{n-2}+{1\over6}a_{n-3} \\ a_{n-1}=a_{n-1} \\ a_{n-2}=a_{n-2} \end{cases}
⎩⎪⎨⎪⎧an=an−1+21an−2+61an−3an−1=an−1an−2=an−2
将其写成矩阵的形式,那么有
[
a
n
a
n
−
1
a
n
−
2
]
=
[
1
1
2
1
6
1
0
0
0
1
0
]
[
a
n
−
1
a
n
−
2
a
n
−
3
]
\begin{bmatrix} a_n \\ a_{n-1} \\ a_{n-2} \end{bmatrix} = \begin{bmatrix} 1 &{1\over2} &{1\over6} \\ 1 &0 &0 \\ 0 &1 &0 \end{bmatrix} \begin{bmatrix} a_{n-1} \\ a_{n-2} \\ a_{n-3} \end{bmatrix}
⎣⎡anan−1an−2⎦⎤=⎣⎡11021016100⎦⎤⎣⎡an−1an−2an−3⎦⎤
那么将这个式子不断迭代,我们知道
[
a
n
a
n
−
1
a
n
−
2
]
=
[
1
1
2
1
6
1
0
0
0
1
0
]
n
−
3
[
3
2
1
]
\begin{bmatrix} a_n \\ a_{n-1} \\ a_{n-2} \end{bmatrix} = \begin{bmatrix} 1 &{1\over2} &{1\over6} \\ 1 &0 &0 \\ 0 &1 &0 \end{bmatrix}^{n-3} \begin{bmatrix} 3 \\ 2 \\ 1 \end{bmatrix}
⎣⎡anan−1an−2⎦⎤=⎣⎡11021016100⎦⎤n−3⎣⎡321⎦⎤
我们令
A
=
[
1
1
2
1
6
1
0
0
0
1
0
]
A=\begin{bmatrix} 1 &{1\over2} &{1\over6} \\ 1 &0 &0 \\ 0 &1 &0 \end{bmatrix}
A=⎣⎡11021016100⎦⎤
那么问题就转化成了求
A
n
A^n
An的问题,那么我们知道矩阵的
n
n
n次幂一般可以通过矩阵的特征值分解去求,但很可惜,这个矩阵并没有三个特征值,实际上在实数域上只有一个特征值,此外三次方程的求解比较麻烦,特征方程如下
λ
3
−
λ
2
−
1
2
λ
−
1
6
=
0
(3)
\lambda^3-\lambda^2-{1\over2}\lambda-{1\over6}=0 \tag{3}
λ3−λ2−21λ−61=0(3)
我这里就借助python的numpy库给出一个近似解
import numpy as np
a = np.array([[1, 1/2, 1/6], [1, 0, 0], [0, 1, 0]])
eig = np.linalg.eigvals(a)
输出的结果,整理后如下
λ
1
=
1.43084957
+
0.
j
λ
2
=
−
0.21542478
+
0.2647132
j
λ
3
=
−
0.21542478
−
0.2647132
j
\begin{aligned} &\lambda_1 = 1.43084957+0.j \\ &\lambda_2 = -0.21542478+0.2647132j\\ &\lambda_3 = -0.21542478-0.2647132j \end{aligned}
λ1=1.43084957+0.jλ2=−0.21542478+0.2647132jλ3=−0.21542478−0.2647132j
正常的话,再依据这个矩阵求出特征向量之类,然后将
A
A
A换成
U
Σ
U
T
U\Sigma U^T
UΣUT,那么这题基本就算完事。可针对这道题呢?这三个特征值其实对应的就是
x
,
y
,
z
x,y,z
x,y,z的解啊!!!因为方程
3
3
3不就是方程
(
2
)
(2)
(2)嘛?所以我们兜了个大圈子,最后发现还是直接解三次方程好一点。那么结果就有了
x
n
+
y
n
+
z
n
=
1.4308495
7
n
+
(
−
0.21542478
+
0.2647132
j
)
n
+
(
−
0.21542478
−
0.2647132
j
)
n
x^n+y^n+z^n=1.43084957^n+(-0.21542478+0.2647132j)^n+(-0.21542478-0.2647132j)^n
xn+yn+zn=1.43084957n+(−0.21542478+0.2647132j)n+(−0.21542478−0.2647132j)n
有人可能要质疑了,你这个解不行啊,不够math啊。说得好!!!我李某元也是这么认为的。那我就给你一组比较math的
x
,
y
,
z
x,y,z
x,y,z的解,其实python的一个库sympy可以用来做符号计算,要求解我们的方程组,只需要下面几条代码就可以了
import sympy
x = sympy.Symbol('x')
y = sympy.Symbol('y')
z = sympy.Symbol('z')
result = sympy.solve([x + y + z - 1 , x**2 + y**2 + z**2 - 2, x**3 + y**3+ z**3 - 3], [x, y, z])
输出的结果我给你整理一下哈,算了,懒得整理成latex的格式了,看个大概吧,嘻嘻 ⋯ \cdots ⋯
图中的 r e s u l t [ 0 ] , r e s u l t [ 1 ] , r e s u l t [ 2 ] result[0],result[1],result[2] result[0],result[1],result[2]分别可以对应 x , y , z x,y,z x,y,z的一组解,注意这个方程其实是有 6 6 6组解的,我们这里只给出三个让大家瞅瞅啥样哈。不知道这个结果是不是你比较喜欢,反正我不喜欢…
好了,那么大功告成!!!!当然这道题也有更一般的解法,但是用到了群论、数论之类的,其实就是一些很基础的知识,只不过讲的高大上了点,和我的做法本质是一样的,这里不过多引入,有兴趣的可以看知乎上给出的高大上的解法。