3 同余方程

3 同余方程

3.1 一次同余方程

定义3-1:设a,b是整数且\(a\not\equiv0(mod\;m)\),则称\(ax\equiv b(mod\;m)\)为一次同余方程。

如果\(ax_0\equiv b(mod\;m)\),那么\(x_0+km\)都能够使得同余方程成立,存在无穷多个整数解。但我们在求解同余方程的时候,通常将解写成\(x\equiv x_0(mod\;m)\)的形式,因此同余方程的解实际上指的是关于模m互不同余的所有解,所以一次同余方程的解数不超过m。

定理3-1:\(a,b\)是整数且\(a\not\equiv0\mod m\)\(ax+b\equiv0\mod m\)有解等价于\(d|b\),其中\(d=(a,m)\)

证明:

  1. 因为同余方程有解:\(ax+b\equiv0\mod m\Leftrightarrow m|(ax+b)\),并且\(d|m,d|a\),所以\(d|(ax+b)\Rightarrow d|b\)
  2. \(d|b\),那么存在整数\(k\)使得\(b=kd\)。又因为存在整数\(s,t\),使得\(as+mt=d\),因此\(aks+mkt=kd=b\)。于是我们可以得到\(a(-ks)+b\equiv0(mod\;m)\),因此\(x\equiv-ks(mod\;m)\),有解。

定理3-2:\(ax+b\equiv0\mod m\)\(d=(a,m),d|b\),那么同余方程在模m意义下有d个不同的解。并且如果\(x_0\)是方程
\[ \frac{a}{d}x+\frac{b}d\equiv0\mod{\frac{m}d} \]
的一个特解,则原方程的全部解为:
\[ x\equiv x_0,x_0+\frac{m}d,x_0+2\frac{m}d,\cdots,x_0+(d-1)\frac{m}d \]
证明:

  1. \(d=1\)时,由于\((a,m)=1\),所以存在整数\(s,t\)使得
    \[ \begin{aligned} &as+mt=1 \Leftrightarrow\;&as\equiv1\mod{m} \end{aligned} \]
    上述式子实际上意味着\((s,m)=1\)也是成立的,因此
    \[ \begin{aligned} &ax+b\equiv0\mod{m}\\ \Leftrightarrow\;&ax\equiv-b\mod{m}\\ \Leftrightarrow\;&sax\equiv-sb\mod{m}\\ \Leftrightarrow\;&x\equiv-sb\mod{m} \end{aligned} \]
    上述推导都是等价的,加上逆元的唯一性,因此,此时同余方程只有唯一解。

  2. \(d>1\)
    \[ \begin{aligned} &ax+b\equiv0\mod{m}\\ \Leftrightarrow\;&ax+b=km\\ \Leftrightarrow\;&\frac{a}{d}x+\frac{b}d=k\frac{m}d\\ \Leftrightarrow\;&\frac{a}{d}x+\frac{b}d\equiv0\mod{\frac{m}d} \end{aligned} \]
    上述推导说明,\(ax+b\equiv0(mod\;m)\)的所有解都是\(\frac{a}{d}x+\frac{b}d\equiv0(mod\;{\frac{m}d})\)的解,反之亦成立。

    并且\(\frac{a}{d}x+\frac{b}d\equiv0(mod\;{\frac{m}d})\)具有唯一解(假设为\(x_0\)),这个解可以写成以下形式
    \[ X=\{x_0+k\frac{m}d,\;k\in Z\} \]
    原同余方程的所有解都蕴含在上述解集中,我们需要做的就是找到所有在模m下不同的解即可。在此之前,我们先考虑解集\(X\)中的两个解如果模m同余会有什么结果
    \[ \begin{aligned} &x_0+k\frac{m}d\equiv x_0+k'\frac{m}d\mod{m}\\ \Leftrightarrow\;&m|\frac{m}d(k-k')\\ \Leftrightarrow\;&\frac{m}{d}d|\frac{m}d(k-k')\\ \Leftrightarrow\;&d|(k-k')\\ \Leftrightarrow\;&k\equiv k'\mod{d} \end{aligned} \]
    因此如果解集\(X\)中的两个解模\(m\)同余说明系数\(k\)\(d\)同余,而任意整数模d一共只有d种不同的结果,因此原同余方程一共有d个不同的解。

一次同余方程的一种解法:\((a,m)=1\),则同余方程\(ax\equiv b(mod\;m)\)的解为\(x\equiv ba^{\varphi(m)-1}(mod\;m)\)。这种解法就是欧拉定理的直接应用,应用\(a^{\varphi(m)}\equiv1(mod\;m)\)即可。

3.2 中国剩余定理

\(m_1,m_2,\cdots,m_r\)是两两互素的自然数,令\(m=m_1m_2\cdots m_r\)\(M_i=m/m_i\),其中\(i=1,2,\cdots,r\)。则方程组
\[ \left\{\begin{aligned} x\equiv b_1\mod{m_1}\\ x\equiv b_2\mod{m_2}\\ \cdots\\ x\equiv b_r\mod{m_r}\\ \end{aligned}\right. \]
的解为\(x\equiv M_1'M_1b_1+M_2'M_2b_2+\cdots+M_r'M_rb_r(mod\;m)\),其中\(M_i'\)满足\(M_i'M_i\equiv1(mod\;m_i)\)。且该方程在模\(m\)意义下,仅有一个非负整数解。

证明:

很容易验证,对于\(1\le i \le r\),都有
\[ x\equiv b_i\mod m_i \]
因为\(M_i'M_i\equiv1(mod\;m_i)\),并且\(m_i|M_j(j\ne i)\)。因此\(x\)是原方程组的一个解。

接着我们证明解的唯一性:假设在模\(m\)意义下有两个不同的解\(x,y(x<y)\),那么
\[ \begin{aligned} x\equiv y\mod m_i \Rightarrow m_i|(y-x) \end{aligned} \]
因为\(m_1,m_2,\cdots,m_r\)两两互素,所以\(m|(y-x)\)
又因为\(0\le x\lt y\lt m\),所以\(0\le|x-y|<m\),故\(x-y=0\),即解唯一。

中国剩余定理的实际应用:

在实际解题过程中,一个同余方程组的模数往往不可能恰好两两互素,因此需要事先对方程组进行等价变换。同余具有下列两个基本性质(可参见2.1同余的性质):

  1. \((m_1,m_2)=1\)\(x\equiv a(mod\;m_1)\)\(x\equiv a(mod\;m_2)\)等价于\(x\equiv a(mod\;m_1m_2)\)

  2. \(m_1|m_2\),则\(x\equiv a(mod\;m_1)\)\(x\equiv a(mod\;m_2)\)等价于\(x\equiv a(mod\;m_2)\)

因此,利用上述两个性质,可以对原方程组的某些方程进行“分解”或者“合并”。

例题:
\[ \left\{\begin{aligned} &x\equiv3\mod{8}\\ &x\equiv11\mod{20}\\ &x\equiv1\mod{15} \end{aligned}\right. \]
首先,对原方程组中的方程进行分解,然后进行合并:
\[ \left\{\begin{aligned} &x\equiv3\mod{8}\\ &x\equiv11\mod{4}\\ &x\equiv11\mod{5}\\ &x\equiv1\mod{3}\\ &x\equiv1\mod{5} \end{aligned}\right.\Leftrightarrow \left\{\begin{aligned} &x\equiv3\mod{8}\\ &x\equiv1\mod{3}\\ &x\equiv1\mod{5} \end{aligned}\right. \]

最后运用中国剩余定理即可。

3.3 高次同余方程

这部分的多项式\(f(x)\)次数均默认大于等于2

定义3-2:\(f(x)=a_nx^n+\cdots+a_1x+a_0\)为整系数多项式,且\(m\nmid a_n\),则同余方程\(f(x)\equiv0(mod\;m)\)称为n次模m同余方程。

容易验证,若\(x_0\)\(f(x)\equiv0(mod\;m)\)的解,则任意与\(x_0\)同余的数都是同余方程的解。我们将这些两两同余的解同一记为\(x\equiv x_0(mod\;m)\)

高次同余方程的解数非常不规则,例如:

  • \(x^2+1\equiv0(mod\;3)\),无解
  • \(x^3-x\equiv0(mod\;6)\),有6个解(0,1,2,3,4,5)

引理1:\(m_1,m_2\)为整数,\((m_1,m_2)=1\)则同余方程\(f(x)\equiv0(mod\;m_1m_2)\)同解于方程组
\[ \left\{\begin{aligned} &f(x)\equiv0\mod m_1\\ &f(x)\equiv0\mod m_2 \end{aligned}\right. \]
证明:利用2.1部分中的同余的性质4,7即可。

引理2:\(x\equiv x_1,x_2,\cdots,x_k(mod\;m_1)\)\(f(x)\equiv0(mod\;m_1)\)的解,\(x\equiv y_1,y_2,\cdots,y_l(mod\;m_2)\)\(f(x)\equiv0(mod\;m_2)\)的解,则方程组
\[ \left\{\begin{aligned} f(x)\equiv0\mod m_1\\ f(x)\equiv0\mod m_2 \end{aligned}\right. \]
可以转换求解\(kl\)个同余式组
\[ \left\{\begin{aligned} x\equiv x_i\mod{m_1}\quad1\le i\le k\\ x\equiv y_j\mod{m_2}\quad1\le j\le l \end{aligned}\right. \]
证明:

  1. \(x\)若是原方程组的解,那么\(x(mod\;m_1)\in\{x_1,x_2,\cdots,x_k\}\),并且\(x(mod\;m_2)\in\{y_1,y_2,\cdots,y_l\}\)。因此进行两两配对就可得到了\(kl\)个同余式组。

  2. \(x\)是其中一个同余式组的解,即
    \[ \left\{\begin{aligned} x\equiv x_i\mod m_1\\ x\equiv y_j\mod m_2 \end{aligned}\right. \]
    那么\(f(x)\equiv f(x_i)\equiv0(mod\;m_1)\)\(f(x)\equiv f(y_j)\equiv0(mod\;m_2)\),所以\(x\)也会是原方程组的一个解。因此,求解\(kl\)个同余式组就可以知道原方程组的所有解。

综上可知,引理2成立。

定理3-3:\(m_1,m_2\)为整数,\((m_1,m_2)=1\),则同余方程\(f(x)\equiv0(mod\;{m_1m_2})\)解的个数为方程\(f(x)\equiv0(mod\;{m_1})\)\(f(x)\equiv0(mod\;{m_2})\)的解数之积。

证明:

首先,根据引理1,\(f(x)\equiv0(mod\;{m_1m_2})\)同解于方程组
\[ \left\{\begin{aligned} f(x)\equiv0\mod m_1\\ f(x)\equiv0\mod m_2 \end{aligned}\right. \]
\(x\equiv x_1,x_2,\cdots,x_s(mod\;{m_1})\)\(f(x)\equiv0(mod\;{m_1})\)的解,\(x\equiv y_1,y_2,\cdots,y_t(mod\;{m_2})\)\(f(x)\equiv0(mod\;{m_2})\)的解,根据引理2,求解该方程组等价于求解\(st\)个同余式组。
\[ \left\{\begin{aligned} x\equiv x_i\mod{m_1}\quad1\le i\le s\\ x\equiv y_j\mod{m_2}\quad1\le j\le t \end{aligned}\right. \]
因为\((m_1,m_2)=1\),根据中国剩余定理,每一个同余式组在模\(m_1m_2\)意义下都有唯一解。因此,原方程组有\(st\)个解。

上述引理1,2和定理3-3都可以推广到方程数目更多的情况。

为了求解一般的同余方程\(f(x)\equiv0(mod\;{m})\),利用上述引理1和算数基本定理,我们有
\[ \begin{aligned} f(x)\equiv0\mod{m}&\Leftrightarrow f(x)\equiv0 \mod{p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_k^{\alpha_k}}\\ &\Leftrightarrow \left\{\begin{aligned} f(x)\equiv0&\mod{p_1^{\alpha_1}}\\ f(x)\equiv0&\mod{p_2^{\alpha_2}}\\ &\vdots\\ f(x)\equiv0&\mod{p_k^{\alpha_k}} \end{aligned}\right. \end{aligned} \]
我们将\(f(x)\equiv0(mod\;{p_i^{\alpha_i}})\)的解数记为\(\gamma_i\),于是根据推广的引理2,我们只需求解\(\gamma_1\gamma_2\cdots\gamma_k\)个同余式组即可,然后根据中国剩余定理,这些同余式组在模m意义下都有唯一解,因此原同余方程有\(\gamma_1\gamma_2\cdots\gamma_k\)个解(定理3-3的推广)。

综上可知,如果我们能够求解\(f(x)\equiv0(mod\;{p^{l+1}})\)形式的同余方程(p是素数),理论上我们就能够求解任意同余方程,因此,下面我们将探讨其解法。

求解思路:因为当对于\(l\)比较大的时候,求解方程也不太容易,这时我们利用同余的性质,将原方程转化为
\[ f(x)\equiv0\mod{p^{l+1}}\Rightarrow f(x)\equiv0\mod{p^{l}} \]
此时如果我们找到了模\(p^l\)的一个解\(x_0(mod\;p^l)\),那么我们可以尝试在\(x_0+p^lt\;(t\in Z)\)中寻找模\(p^{l+1}\)的解,通过二项式展开,可以得到
\[ a_i(x_0+p^lt)^i=a_i(x_0^i+i\cdot x_0^{i-1}p^lt+\cdots+(p^lt)^i),\;i\ge2 \]
又因为
\[ a_i(x_0+p^lt)^i\equiv a_ix_0^i+i\cdot a_ix_0^{i-1}p^lt\mod{p^{l+1}} \]
所以
\[ \begin{aligned} f(x_0+p^lt)&\equiv\sum_{i=0}^na_ix_0^i+p^lt\sum_{i=1}^ni\cdot a_ix_0^{i-1}\mod{p^{l+1}}\\ &\equiv f(x_0)+f'(x_0)p^lt\mod{p^{l+1}} \end{aligned} \]
因为p是素数,如果\(p|f'(x_0)\),那么\(p^{l+1}|f'(x_0)p^l\),所以\(f(x_0+p^lt)\equiv f(x_0)(mod\;{p^{l+1}})\)

如果\(f(x_0)\equiv0\mod{p^{l+1}}\),那么此时\(x_0(mod\;p^l)\)就是所要求的一个解。如果\(f(x_0)\not\equiv0\mod{p^{l+1}}\),那么\(x_0+p^lt\)均不是原方程的解。此时就需要重新找一个新的解(模\(p^l\)意义下),重新进行尝试。

如果\((p,f'(x_0))=1\),令\(f(x_0+p^lt)\equiv0\mod{p^{l+1}}\),则
\[ \begin{aligned} &f(x_0)+f'(x_0)p^lt\equiv0\mod{p^{l+1}}\\ \Rightarrow&\frac{f(x_0)}{p^l}+f'(x_0)t\equiv0\mod{p} \end{aligned} \]
因为\(f(x_0)\equiv0(mod\;{p^l})\),所以\(p^l|f(x_0)\)。此时我们可以求解出\(t\),设\(0\le t_0<p\)是模p下唯一的解,那么t的所有解为:
\[ t\equiv t_0+sp\mod{p^{l+1}},\;s=0,1,2,\cdots,p^l-1 \]
于是我们有
\[ x\equiv x_0+p^lt\equiv x_0+p^lt_0+sp^{l+1}\equiv x_0+p^lt_0\mod{p^{l+1}} \]
因此\(x_0(mod\;p^l)\)唯一对应着\(x_0+p^lt_0(mod\;p^{l+1})\)

综上可知:如果\(x_0(mod\;p^l)\)是方程\(f(x)\equiv0(mod\;p^l)\)的一个解

  1. 如果\(p|f'(x_0)\)\(f(x_0)\equiv0(mod\;p^{l+1})\),此时\(x_0+p^lt\)均是所要求的解。
  2. 如果\(p|f'(x_0)\)\(f(x_0)\not\equiv0(mod\;{p^{l+1}})\),此时\(x_0+p^lt\)均不是所要求的解。
  3. 如果\((p,f'(x_0))=1\),那么可以通过\(x_0+p^lt\)唯一确定原方程的一个解。

因为\(f(x)\equiv0(mod\;p^l)\)有解是\(f(x)\equiv0(mod\;{p^{l+1}})\)有解的必要条件,因此通过尝试\(f(x)\equiv0(mod\;p^l)\)所有可能的解,就一定能找全所有解。

定理3-4:\(f(x)\equiv0,f'(x)\equiv0(mod\;p)\)无公共解,则\(f(x)\equiv0(mod\;p^l)\)解的个数等于\(f(x)\equiv0(mod\;p)\)解的个数。

证明:

  1. 显然对于\(l=1\)的时候成立。

  2. 假设对于\(l=k\)的时候成立,设\(x_0\)\(f(x)\equiv0(mod\;p^k)\)的一个解,所以\(f(x)\equiv0(mod\;p)\),由条件可知\(f'(x_0)\not\equiv0(mod\;p)\)。这意味着\((p,f'(x_0))=1\),因为\(p\)是素数。根据我们之前推导的方法,一定可以通过\(x_0+p^kt\)唯一确定方程\(f(x)\equiv0(mod\;p^{k+1})\)的一个解,这对于\(f(x)\equiv0(mod\;p^k)\)的任意一个解都是如此。因为\(f(x)\equiv0(mod\;p^l)\)有解是\(f(x)\equiv0(mod\;{p^{l+1}})\)有解的必要条件,因此通过尝试\(f(x)\equiv0(mod\;p^l)\)所有可能的解,就一定能找全所有解。

    因此,方程\(f(x)\equiv0(mod\;p^{k+1})\)解的个数等于方程\(f(x)\equiv0(mod\;p^k)\)解的个数。即对于\(l=k+1\)结论也成立。

小结:通过上述的讨论我们把求解\(f(x)\equiv0(mod\;p^{l+1})\)归结为求解\(f(x)\equiv0(mod\;p^{l})\)的问题,通过\(l\)次转化之后,相当于我们只需要求解\(f(x)\equiv0(mod\;p)\)即可。

定理3-5:\(p\)为素数,\(f(x)=a_nx^n+\cdots+a_1x+a_0\)是整系数多项式,且\(p\not\mid a_n\),则方程
\[ f(x)\equiv0\mod p \]
解的个数不超过n(重根按照重数计算)。

证明:如果\(f(a_1)\equiv 0(mod\;p)\),说明原方程有一个\(x\equiv a_1(mod\;p)\)根,那么原方程可以进行因式分解
\[ f(x)\equiv(x-a_1)f_1(x)\mod p \]
同理如果\(f_1(a_2)\equiv0(mod\;p)\),那么就可以继续分解为
\[ f(x)\equiv(x-a_1)(x-a_2)f_2(x)\mod p \]
最终可以分解为
\[ f(x)\equiv(x-a_1)(x-a_2)\cdots(x-a_r)f_r(x)\mod p \]
其中\(f_r(x)\not\equiv0(mod\;p)\)恒成立。

因为多项式\(f(x)\)的次数不超过\(n\),所以其解的个数也不会超过\(n\)

现在考虑一类特殊的同余方程:\(x^{p-1}\equiv1(mod\;p)\)\(p\)为素数。显然0不是该方程的解,对于任意\(0\le x \le p-1\),都有\((x,p)=1\),根据欧拉定理有\(x^{p-1}\equiv1(mod\;p)\)均成立,即该方程的所有可能解为
\[ x\equiv1,2,\cdots,p-1\mod{p} \]
即一共有\(p-1\)个解,此时在模\(p\)意义下,我们可以进行因式分解
\[ x^{p-1}-1\equiv(x-1)(x-2)\cdots(x-(p-1))\mod{p} \]
\(x=0\),可以得到
\[ -1\equiv(-1)^{p-1}(p-1)!\mod{p} \]
因为\(p\)是素数,可以验证当\(p=2\)\(p>2\)的时候,上述式子可以化简为
\[ (p-1)!\equiv-1\mod p \]
上述结果称为Wilson定理。

降低方程次数: 如果我们不关心方程根的重数,利用费马小定理,我们总可以将方程的次数降低到不超过\(p-1\)次,这是因为
\[ x^{p}\equiv x\mod p \]
下面介绍两种降低方程次数的方法:

  1. 利用带余除法:计算
    \[ f(x)=q(x)(x^p-x)+r(x) \]
    然后求解\(r(x)\equiv0(mod\;p)\)即可

  2. 直接用\(x\)替换\(x^p\)即可,直到\(f(x)\)中不含高于\(x^{p-1}\)的项。

猜你喜欢

转载自www.cnblogs.com/philolif/p/number-theory-3.html