浅谈一种猜整多项式的有理数根的方法

· · 学习·文化课

众所周知,遇到 \geq 3 次的多项式要求因式分解时,我们通常都需要用猜根的方法。

首先我们设 f(x)=\sum_{i=0}^na_ix^i,其中 a_n \neq 0

a_0=0 显然 0 是一个根,所以下面假设 a_0 \neq 0

下面考虑怎么求 f(x) 的一个整数根,设整数根为 x_0

对于任意整数 r 满足 f(r) \neq 0,即不为 f(x) 的根,那么我们有 (x_0-r) \mid f(r)

下面证明一下,因为 x_0f(x) 的整数根,所以存在整多项式 g(x) 满足 g(x)(x-x_0)=f(x)

代入即可得 f(r)=g(r)(r-x_0)=-g(r)(x_0-r),因为 g(r) 是整数且不为 0,所以 (x_0-r) \mid f(r)

这时我们令 r=0,即可得到 x_0 \mid a_0,即整数解 x_0 总是 a_0 的因数。

只需要枚举 O(d(a_0)) 个解即可。

现在我们已经会解决整数根了,现在考虑解决有理数。

现在设 x_0f(x) 的一个有理根(注意与上文的定义不同了)。

那么 f(x_0)=0,展开一下就是 \sum_{i=0}^na_i{x_0}^i=0

我们考虑直接将两边模上 x_0,即可得 a_0 \equiv 0 (\bmod \ x_0),即 \frac{a_0}{x_0} \in \Z

考虑直接换元,设 x_0=\frac{a_0}{y},y \in \Z^*

那么我们可以得到 \sum_{i=0}^na_i(\frac{a_0^i}{y^i})=0

同乘 y^n\sum_{i=0}^na_ia_0^iy^{n-i}=0,然后就可以变成求整数根了,因为 y 是整数。

这时候我们可以拿到 y \mid a_na_0^n

其实就是 有理根定理 的弱化版,但是这是在做数学作业的时候想出来的。

回机房搜到了有理根定理,发现关于 y 的结论可以再简化成 \frac{y}{\gcd(y,a_0)} | a_n