Hensel 引理、原根

作者

李 辉

发布于

2026年4月2日

Hensel 引理

引理 1 假设 \(f(x)\in Z[x]\),满足 \[ f(a)\equiv 0\,\mod\,p^k, \] 且 \(f^\prime(a) \not\equiv 0\,\mod\,p\)。

那么存在唯一的 \(t \mod\,p\),使得 \[ f(a+tp^k)\equiv 0\,\mod\,p^{k+1}. \]

也就是说,存在唯一的解 \(b\,\mod\,p^{k+1}\) 满足 \(b \equiv a\,\mod\,p^k\)。

证. 我们要寻找形如 \(b=a+tp^k\) 的解,其中 \(t\in \{0,1,\cdots,p-1\}\),使其满足模 \(p^{k+1}\) 的同余式。

在 \(a\) 点附近利用泰勒展开:


\[ \quad f(a + tp^k) = f(a) + f'(a) tp^k + \frac{f''(a)}{2!} [tp^k]^2 + \cdots + \frac{f^{(n)}(a)}{n!} [tp^k]^n \]

如果 \(f\) 是整数系数多项式,那么 \(\frac{f^{(n)}(a)}{n!}\) 也是整数。

因此,当 \(j \ge 1\) 时,\(f(a+tp^k) \equiv f(a) + f^\prime(a)tp^k \pmod{p^{k+1}}\)。

令两边都 \(\equiv 0 \pmod{p^{k+1}}\):

\[ f(a)+tp^kf^\prime(a)\equiv 0\,\,\mod\,p^{k+1} \]

\[ tf^\prime(a)+\frac{f(a)}{p^k}\equiv 0\,\mod\,p \]

\[ t\equiv - \left( \frac{f(a)}{p^k} \cdot \frac{1}{f^\prime(a)} \right) \,\mod\,p. \square \]

注:

\(\because 50+200 \equiv 0 \pmod{125}\)

\(\therefore 50/25+200/25 \equiv 0 \pmod{5}\)


例 1 使用 Hensel 引理求解 \(x^3-2x\equiv 1 \pmod{125}\)。

令 \(f(x)=x^3-2x-1\)。

首先求 \(f(x)\equiv 0 \pmod{5}\) 的解。

\[ \begin{gathered} f(0)=-1\equiv 4 \pmod{5},\,\,f(1)=-2\equiv 3 \pmod{5},\,\,f(2)=3\equiv 3 \pmod{5}\\ f(3)=20\equiv 0 \pmod{5},\,\,f(4)=55\equiv 0 \pmod{5} \end{gathered} \]

因此,\(a_1=3,4\) 是 \(f(x)\equiv 0 \pmod{5}\) 的所有解。

计算 \(f\) 的导数:\(f^\prime(x)=3x^2-2\)。

\[ f^\prime(3)=27-2=25\equiv 0 \pmod{5},\,\,f^\prime(4)=48-2=46\equiv 1 \pmod{5} \]

对于 \(a_1=4\),有 \[ (f^\prime(4))^{-1}\equiv 1 \pmod{5}。 \]


因此 \[ \begin{gathered} a_2 \equiv 4 - f(4)[f^\prime(4)]^{-1} \pmod{25}\\ \equiv 4 - 55 \times 1 \pmod{25}\\ \equiv 24 \pmod{25} \end{gathered} \]

\[ \begin{gathered} a_3 \equiv 24 - f(24)[f^\prime(24)]^{-1} \pmod{125}\\ \equiv 24 - 13775 \times 1 \pmod{125}\\ \equiv -13751 \pmod{125}\\ \equiv 124 \pmod{125} \end{gathered} \]

所以,\(x=124\) 是方程 \[ x^3-2x\equiv 1 \pmod{125} \] 的一个解。


习题 1 求解方程: \[ x^3-x\equiv 139 \pmod{343} \]

模多项式

定理 1 若 \(p\) 是素数,那么 \(n\) 次同余方程 \(f(x)\equiv 0 \pmod{p}\) 最多有 \(n\) 个解。

例 2  

  • \[ 3x-2\equiv 0 \,\mod\,7 \]

  • \[ x^2 \equiv 2 \,\mod\,7 \]

  • \[ x^3 \equiv 1 \,\mod\,7 \]

  • \[ x^2 \equiv 1 \,\mod\,15 \]


证. 对于 0 次或 1 次多项式,结论显然成立。

假设结论对次数小于 \(n\) (\(n \ge 2\)) 的多项式成立。

如果方程没有根,则证明完成。

否则,假设它有一个根 \(\alpha\)。

用 \(x-\alpha\) 除 \(f(x)\),可以得到 \(g(x)\in Z[x]\) 和一个常数 \(r\),使得 \[ f(x)=g(x)(x-\alpha)+r. \]


现在带入 \(\alpha\) 得到: \[ f(\alpha)=(\alpha-\alpha)g(\alpha)+r=r, \] 这意味着 \(f(\alpha)=r\),且 \[ f(x)=(x-\alpha)g(x)+f(\alpha). \]

已知 \(f(\alpha) \equiv 0 \pmod{p}\)。如果 \(\beta\) 是 \(f(x)\) 的任何其他根,带入方程得到: \[ f(\beta)=(\beta-\alpha)g(\beta)+f(\alpha) \pmod{p}, \]

\[ f(\beta)\equiv (\beta-\alpha)g(\beta) \pmod{p}, \]


因此 \[ (\beta-\alpha)g(\beta) \equiv 0 \pmod{p}. \] 由于我们假设 \(\beta \neq \alpha\),所以 \[ g(\beta)\equiv 0 \pmod{p}. \]

也就是说,\(\beta\) 是方程 \[ g(x)\equiv 0 \pmod{p} \] 的一个解。

已知 \(g(x)\) 的次数为 \(n-1\),根据归纳假设, \[ g(x)\equiv 0 \pmod{p} \] 最多有 \(n-1\) 个解。加上之前的根 \(\alpha\),可知 \(f(x)\) 最多有 \(n\) 个解。\(\square\)


推论 1 如果同余方程 \[ a_nx^n+a_{n-1}x^{n-1}+\cdots+a_0\equiv 0 \pmod{p} \] 有超过 \(n\) 个解,那么所有的系数都满足: \[ a_i\equiv 0 \pmod{p}。 \]

定理 2 令 \[ f(x)=x^n+a_{n-1}x^{n-1}+\cdots+a_0. \]

同余方程 \(f(x)\equiv 0 \pmod{p}\) 恰有 \(n\) 个互不相同的解,当且仅当 \(f(x)\) 在 \(\pmod{p}\) 意义下整除 \(x^p-x\)。

即:存在 \(g(x)\in Z[x]\) 使得 \[ f(x)g(x) \equiv x^p-x \pmod{p} \] 作为多项式相等。


证. 第一部分:

假设 \(f(x)\) 有 \(n\) 个解。由于模 \(p\) 最多只有 \(p\) 个根,因此 \(n \le p\)。

用 \(f(x)\) 除 \(x^p-x\) 得到: \[ x^p-x=f(x)g(x)+r(x), \quad \text{deg}(r) < \text{deg}(f)=n. \] 如果 \(\alpha\) 是 \(f(x) \pmod{p}\) 的一个根,带入得到: \[ \alpha^p-\alpha=f(\alpha)g(\alpha)+r(\alpha) \equiv 0 \pmod{p} \]

因此,\(\alpha\) 必须是 \(r(x)\equiv 0 \pmod{p}\) 的解。由于 \(f(x)\) 有 \(n\) 个互不相同的根,这意味着 \(r(x)\equiv 0 \pmod{p}\) 有 \(n\) 个互不相同的解。但 \(\text{deg}(r) < n\)。

因此,\(x^p - x \equiv f(x)g(x) \pmod{p}\),即 \(f(x)\) 整除 \(x^p - x\)。


第二部分:

假设 \(f(x) | x^p-x \pmod{p}\)。写作 \(x^p-x \equiv f(x)g(x) \pmod{p}\),其中 \(f(x)\) 是 \(n\) 次首一多项式,\(g(x)\) 是 \(p-n\) 次首一多项式。我们要证明 \(f(x)\) 有 \(n\) 个互不相同的解。

根据之前的定理,\(g(x) \pmod{p}\) 最多有 \(p-n\) 个根。

如果 \(\alpha \in \{0, 1, \cdots, p-1\}\) 不是 \(g(x) \pmod{p}\) 的根,那么: \[ \alpha^p-\alpha \equiv f(\alpha)g(\alpha) \equiv 0 \pmod{p} \quad (\text{由费马定理})。 \]

由于 \(g(\alpha) \not\equiv 0 \pmod{p}\),所以 \(f(\alpha) \equiv 0 \pmod{p}\)。


由于至少有 \(p-(p-n)=n\) 个这样的 \(\alpha\),我们可以看到 \(f(x)\) 在模 \(p\) 下至少有 \(n\) 个不同的根。

结合之前的定理,\(f(x)\) 最多有 \(n\) 个根,从而 \(f(x)\) 恰好有 \(n\) 个互不相同的根。\(\;\:\,\square\)


推论 2 如果 \(d | (p-1)\),那么同余方程 \[ x^d \equiv 1 \pmod{p} \] 在模 \(p\) 下恰有 \(d\) 个互不相同的解。

例 3 \[ x^3\equiv 1\,\mod\,7 \]

\[ x^3\equiv 1\,\mod\,5 \]


证. 因为 \(d | (p-1)\),所以多项式 \(x^d-1\) 整除 \(x^{p-1}-1\)。

设 \(p-1=kd\),则: \[ x^{kd}-1 = (x^d-1)(x^{(k-1)d}+\cdots+1)。 \]

因此: \[ x^d-1 \mid x(x^{p-1}-1) = x^p-x \pmod{p}。 \]

由上述定理知其恰有 \(d\) 个解。\(\square\)


证. 假设 \(p\) 是一个奇素数。

令 \[ f(x)=x(x-1)\cdots(x-p+1). \]

这是一个 \(p\) 次首一多项式且在模 \(p\) 下有 \(p\) 个解,因此它在模 \(p\) 下必须整除(实际上是等于)\(x^p-x\)。

两个多项式次数相同且均为首一,故在模 \(p\) 下相等。


\[ x(x-1)\cdots(x-p+1) \equiv x^p-x \pmod{p} \] 左侧 \(x\) 的系数为: \[ (-1)(-2)\cdots(-(p-1)) = (-1)^{p-1}(p-1)! = (p-1)! \] (因为 \(p\) 是奇数,则 \(p-1\) 是偶数)。

因此: \[ (p-1)! \equiv -1 \pmod{p}。\square \]

元素的阶

问题:

我们已知 \(\gcd(22,35)=1\),所以 \[ 22^{\phi(35)} = 22^{24} \equiv 1 \pmod{35}。 \]

是否存在最小的正整数 \(N\),使得 \[ 22^N \equiv 1 \pmod{35}? \]


定义 1 如果 \(\gcd(a, m)=1\),且 \(h\) 是使得 \(a^h \equiv 1 \pmod{m}\) 成立的最小正整数,则称 \(h\) 为 \(a\) 模 \(m\) 的阶。记作 \(h = \text{ord}_m(a)\)。

例 4 \[ \text{ord}_7(2)=3 \]

\[ \text{ord}_{11}(2)=10 \]

\[ \text{ord}_{11}(5)=5 \]


引理 2 令 \(h = \text{ord}_m(a)\)。使得 \(a^k \equiv 1 \pmod{m}\) 成立的整数 \(k\) 的集合恰好是 \(h\) 的倍数的集合。

例 5 \[ \text{ord}_{11}(5)=5 \] 如果 \(5^k \equiv 1 \pmod{11}\),那么 \(k=5, 10, \cdots\)。


证. \(a^{rh} \equiv (a^h)^r \equiv 1^r \equiv 1 \pmod{m}\)。

假设存在 \(k\) 使得 \(a^k \equiv 1 \pmod{m}\)。

我们要证明 \(h | k\)。

令 \(k=hq+r\),其中 \(0 \le r < h\)。

\[ 1 \equiv a^k = a^{hq+r} = a^{hq}a^r \equiv 1 \cdot a^r \equiv a^r \pmod{m}, \] 因此 \(a^r \equiv 1 \pmod{m}\)。由于 \(r < h\) 且 \(h\) 为最小正整数,必有 \(r=0\),即 \(k\) 是 \(h\) 的倍数。\(\square\)


引理 3 如果 \(h = \text{ord}_m(a)\),那么 \(a^k \pmod{m}\) 的阶为 \(\frac{h}{\gcd(k, h)}\)。

例 6 \[ \text{ord}_{11}(5)=5, \quad \text{ord}_{11}(2)=10 \]

  • \(5^3 \equiv 4 \pmod{11}\) 的阶为 \(\frac{5}{\gcd(3, 5)}=5\)。

  • \(2^8 \equiv 3 \pmod{11}\) 的阶为 \(\frac{10}{\gcd(8, 10)}=5\)。


证. \[ a^{kj} \equiv 1 \pmod{m} \Leftrightarrow h | kj \Leftrightarrow \frac{h}{\gcd(h, k)} \mid \frac{k}{\gcd(h, k)}j \Leftrightarrow \frac{h}{\gcd(h, k)} \mid j \] 因此最小的正整数 \(j\) 为 \(\frac{h}{\gcd(h, k)}\)。\(\square\)


引理 4 若 \(a\) 模 \(m\) 的阶为 \(h\),\(b\) 模 \(m\) 的阶为 \(k\),且 \(\gcd(h, k)=1\),则 \(ab\) 模 \(m\) 的阶为 \(hk\)。

例 7 \[ \text{ord}_{11}(4)=5, \quad \text{ord}_{11}(10)=2 \] \[ \Rightarrow \text{ord}_{11}(4 \times 10 \equiv 7) = 10。 \]

证. \[ (ab)^{hk} \equiv (a^h)^k(b^k)^h \equiv 1^k 1^h \equiv 1 \pmod{m} \]


反之,设 \(r = \text{ord}_m(ab)\)。 \[ \begin{gathered} (ab)^r \equiv 1 \pmod{m}\\ (ab)^{rh} \equiv (a^h)^r b^{rh} \equiv b^{rh} \equiv 1 \pmod{m} \end{gathered} \] 因此 \(k | rh\),由于 \(\gcd(k, h)=1\),得 \(k | r\)。同理可得 \(h | r\)。故 \(hk | r\),从而 \(hk = \text{ord}_m(ab)\)。\(\square\)

原根

定义 2 如果 \(a\) 模 \(m\) 的阶为 \(\phi(m)\),我们称 \(a\) 是模 \(m\) 的一个原根。

例 8 3 是模 7 的原根。

2, 7, 8 是模 11 的原根。


引理 5 令 \(p\) 为素数并假设对于某个素数 \(q\) 有 \(q^e | (p-1)\)。那么存在一个模 \(p\) 的元素,其阶为 \(q^e\)。

设 \(p-1 = q_1^{e_1} q_2^{e_2} \cdots q_r^{e_r}\)。引理意味着存在 \(g_1, g_2, \cdots, g_r\) 分别满足 \(\text{ord}_p(g_i) = q_i^{e_i}\)。

例 9 \[ p=101, \, q=5, \, e=2 \] \[ \text{ord}_{101}(31)=25 \]


令 \(g = g_1 g_2 \cdots g_r\)。

由之前的引理,由于所有的 \(q_i^{e_i}\) 两两互素,\(g\) 的阶为: \[ q_1^{e_1} q_2^{e_2} \cdots q_r^{e_r} = p-1 = \phi(p) \] 因此,\(g\) 是模 \(p\) 的一个原根。


证. 考虑方程 \(x^{q^e} \equiv 1 \pmod{p}\) 的解。

因为 \(q^e \mid (p-1)\),所以 \(x^{q^e}-1\) 在模 \(p\) 下恰有 \(q^e\) 个根。

如果 \(\alpha\) 是此类根,那么 \(\text{ord}_p(\alpha)\) 必整除 \(q^e\)。

若阶不等于 \(q^e\),则它必须整除 \(q^{e-1}\)。

那么 \(\alpha\) 将是 \(x^{q^{e-1}}-1 \equiv 0 \pmod{p}\) 的根,而此方程恰有 \(q^{e-1}\) 个解。

因为 \(q^e - q^{e-1} > 0\),所以存在 \(\alpha\) 满足 \(\text{ord}_p(\alpha) = q^e\)。\(\square\)


原根的数量

如果模 \(m\) 至少存在一个原根,那么原根的数量为 \(\phi(\phi(m))\)。

特别是当 \(m\) 为素数时,原根的数量为 \(\phi(m-1)\)。

例 10 \[ \phi(\phi(31)) = \phi(30) = 8 \]

事实上,\(\{3, 11, 12, 13, 17, 21, 22, 24\}\) 是 31 的所有原根。


证. 假设 \(g \pmod{m}\) 是一个原根。

考虑整数 \(1, g, \cdots, g^{\phi(m)-1}\),它们均与 \(m\) 互素,且在模 \(m\) 下互不相同。

如果有 \(g^i \equiv g^j \pmod{m}\) (\(0 \le i < j \le \phi(m)-1\)),则 \(g^{j-i} \equiv 1 \pmod{m}\),这与 \(g\) 是原根(阶为 \(\phi(m)\))矛盾。

由于有 \(\phi(m)\) 个这样的数,它们构成了模 \(m\) 的一个既约剩余系。


设 \(a\) 是模 \(m\) 的另一个原根,则 \(a \equiv g^k \pmod{m}\)。其阶为: \[ \frac{\text{ord}(g)}{\gcd(k, \text{ord}(g))} = \frac{\phi(m)}{\gcd(k, \phi(m))} \]

要使阶恰好为 \(\phi(m)\),充要条件是 \(k\) 与 \(\phi(m)\) 互素。

与 \(\phi(m)\) 互素的 \(k\) 的个数即为 \(\phi(\phi(m))\)。\(\square\)


习题 2 试寻找模 211 的一个原根。


定理 3 \(^{\star\star\star}\) 存在模 \(m\) 的原根,当且仅当 \(m=1, 2, 4, p^e\) 或 \(2p^e\)(其中 \(p\) 为奇素数)。

此处不提供证明\(^{\star\star\star}\)。

其他相关概念:

  • 离散对数 (Discrete Log)

例 11 \[ 2^x \equiv 5 \pmod{11} \]

\[ x = \log_2{5} \pmod{11} \] 这是一个著名的 NP 困难 (NP-hard) 问题。