【初等数论】 04 - 同余方程
1. 同余方程
剩余类可以看做是一个新的数系,它对加减乘运算是封闭的,所以同余方程对多项式是有意义的。本节我们就来讨论一元多项式方程(1)的解,当然它的解是一个剩余类集合,最多有\(m\)个解。
\[f(x)=\sum_{k=0}^{n}{a_kx^k}=a^nx^n+\cdots+a_1x+a_0\equiv 0\pmod{m}\tag{1}\]
在正式解一个同余方程前,可以先进行一些简单的变形,最简单的就是将系数取模。对于两个多项式\(f(x),g(x)\),如果它们的系数是模\(m\)同余的,则称\(f(x),g(x)\)是模\(m\)同余的。显然模同余的多项式的解也必然是相同的,一般将化简后多项式的次数称为方程的次数。同余方程中也不是完全不能用除法,当\((a_n,m)=1\)时,多项式乘上\(a_n^{-1}\)就可以变成首\(1\)多项式。
进一步,如果\(f(x)\equiv g(x)\pmod {m}\)恒成立,则称\(f(x),g(x)\)是模\(m\)等价的。比如根据费马小定理,\(f(x)=x^p\)和\(g(x)=x\)就是等价的。显然同余的多项式必定是等价的,但等价的多项式却不一定是同余的。使用等价多项式可以对方程进行降次,比如模为\(p\)的多项式\(f(x)\)一定可以通过多项式除法\(f(x)=g(x)(x^p-x)+r(x)\)降为次数小于\(p\)的多项式\(r(x)\)。对于一般的合数\(m\),其实容易有\(a^m\equiv a^{m-\varphi(m)}\pmod{m}\),则有恒等式\(x^m-x^{m-\varphi(m)}\equiv 0\pmod{m}\),故任何多项式都等价于某个次数小于\(m\)的多项式。
接下来自然是要对模数进行分解,记方程(1)的解的个数为\(T(m,f)\),且\(m=m_1m_2\cdots m_n\)中\(m_k\)两两互素。容易证明解方程(1)的问题可以等价为解方程组(2)的问题,且有\(T(m,f)=T(m_1,f)T(m_2,f)\cdots T(m_n,f)\)。
\[f(x)\equiv 0\pmod{m}\Leftrightarrow\begin{cases}\:f(x)\equiv 0\pmod{m_1}\\\:\cdots\:\cdots\\\:f(x)\equiv 0\pmod{m_n}\end{cases}\tag{2}\]
将模数进行素数分解,则我们可以把问题集中在解方程\(f(x)\equiv 0\pmod{p^e}\),我们来考虑对模“降次”。首先显然该方程的解也必然是\(f(x)\equiv 0\pmod{p^{e-1}}\)的解,设\(c\)为后者的解,则前者的解必定在\(c+p^{e-1}y,(0\leqslant y\leqslant p-1)\)中。将其带入原方程,注意去除含有\((p^{e-1}y)^k,(k\geqslant 2)\)的项(被整除),整理后得到\(f(c)+f'(c)p^{e-1}y\equiv 0\pmod{p^e}\),进而有式子(3)。由此当\(p\nmid f'(c)\)时,\(y\)有唯一解。否则当\(p|f(c)p^{1-r}\)时恒成立,否则无解。这样就有了如公式(4)的方程的解的网状关系图,特别地当\(f'(x)\equiv 0\pmod{p}\)无解时,所有\(f(x)\equiv 0\pmod{p^e}\)的解相同。
\[f'(c)y\equiv f(c)p^{1-e}\pmod{p}\tag{3}\]
\[f(c)\equiv 0\pmod{p}\begin{cases}\:p\nmid f'(c)\,\Rightarrow f(c)\equiv 0\pmod{p^e}\\\:p^2\mid f(c)\Rightarrow f(x)\equiv 0\pmod{p^2},x=c+py\Rightarrow\cdots\\\:p^2\nmid f(c)\Rightarrow f(c)\not\equiv 0\pmod{p^e}\end{cases}\tag{4}\]
现在我们的问题被转化成了方程\(f(x)\equiv 0\pmod{p}\),研究的方向和一般多项式方程类似,是关于方程解的个数和多项式格式。先假设方程已经做了同余简化,但还未做等价简化,使用多项式除法和归纳法可以有以下拉格朗日定理:若方程有\(m\)个不同的解\(x_1,x_2,\cdots,x_m\),则必定有唯一表达式(5),其中\(g(x)\)的首项为\(a_nx^{n-m}\),\(r(x)\)的次数低于\(m\)。该定理说明了\(n\)次同余方程的解的个数不可能大于\(n\),反之若大于\(n\),则必恒为\(0\)。
\[f(x)=g(x)(x-x_1)(x-x_2)\cdots(x-x_m)+pr(x)\equiv g(x)(x-x_1)(x-x_2)\cdots(x-x_m)\pmod{p}\tag{5}\]
拉格朗日定理给出了多项式同余方程与根有关的格式,值得注意的是,该格式与原多项式是同余,也就是它的本来面貌,这点很重要。该定理还有其它有趣的应用,比如由欧拉定理知\(x^{p-1}-1\equiv 0\pmod{p}\)有\(p-1\)个非零解,则有公式(6),令\(x=0\)即可得到威尔逊定理!如果再比较\(x\)和\(x^{p-2}\)项的系数,就会有公式(7)(8)。还有值得一提的是,同余方程同可以有“重根”的概念,有兴趣你可以自己研究一下。
\[x^{p-1}-1\equiv (x-1)(x-2)\cdots (x-p+1)\pmod{p}\tag{6}\]
\[\sum_{1\leqslant i\leqslant j\leqslant p-1}ij\equiv 0\pmod{p}\tag{7}\]
\[\quad (p-1)!\sum_{k=1}^{p-1}{\dfrac{1}{k}}\equiv 0\pmod{p}\tag{8}\]
接下来我们假定方程做了等价简化,即\(f(x)\)的次数小于\(p\)且首项系数为\(1\),看看会有什么性质。首先若有\(f(x)\equiv g(x)\pmod{p}\),则\(f(x)-g(x)\)有\(p\)个根,从而\(f(x)=g(x)\),换句话说,次数小于\(p\)的首\(1\)多项式如果等价则必唯一,即等价和同余是一致的。还有一个问题就是方程的根的个数问题了,当\(f(x)\)恰有\(n\)个根时,有\(f(x)\equiv (x-x_1)\cdots(x-x_n)\pmod{p}\),而\(x^p-x=x(x-1)\cdots(x-p+1)\pmod{p}\),这就有\(x^p-x\equiv f(x)g(x)\pmod{p}\)。反之也可以推得\(f(x),g(x)\)分别有\(n,p-n\)个根。这就是说\(f(x)\)有\(n\)个解的充要条件是存在唯一表达式(9)。
\[x^p-x=f(x)g(x)+pr(x)\tag{9}\]
关于高次方程更进一步的结论比较少,这里也不作深究,而二项同余方程\(x^n\equiv a\pmod{p}\)放到下一篇会更简单,所以这里也不讨论了。对一些低次方程,可以直接对其研究,我们先从最简单的一次剩余方程\(ax\equiv b\pmod{m}\)看起,显然它是否有解与不定方程\(ax+my=b\)是否有解是等价的,故有解的充要条件是\((a,m)\mid b\)。由同余的性质,原方程等价于方程(10)。故原方程共有\((a,m)\)个解,分别为\(x_0+\dfrac{m}{(a,m)}k,(k=0,\cdots,(a,m)-1)\),其中\(x_0\)为任一解,也称为特解。如果将(10)简记为\(a_0x\equiv b_0\pmod{m_0}\),则\(a_0^{-1}b_0\)即为原方程的一个特解。
\[\dfrac{a}{(a,m)}x\equiv \dfrac{b}{(a,m)}\pmod{\dfrac{m}{(a,m)}}\tag{10}\]
直接求逆是复杂的,一次方程一般用辗转相除法,对于一些特殊格式,你还可以动用一切同余的性质简化算法。尝试解决以下问题:
• 证明\(2^ex\equiv b\pmod{m}\)的解为\((\dfrac{m+1}{2})^eb\),其中\((2,m)=1\)。并由此给出系数为\(2^i3^j\)的方程的解法;
• \((a,m)=1\),若\(ax\equiv 1\pmod{m}\)解为\(x_0\),则\(\dfrac{1-(1-ax_0)^e}{a}\)是\(ax\equiv 1\pmod{m^e}\)的解。
2. 二次剩余
现在来研究模为素数的二次同余方程\(ax^2+bx+c\equiv\pmod{p}\),通过配方可以有\((2ax+b)^2\equiv b^2-4ac\pmod{p}\),从而方程其实等价于二次二项方程\(x^2\equiv d\pmod{p}\),当然这里不去考虑\(p=2\)和\(p|d\)这样的平凡场景。如果方程有解,\(d\)称为\(p\)的二次剩余,否则叫二次非剩余。为方便描述,这里先引进勒让德(Legendre)符号\(\left(\dfrac{d}{p}\right)\),\(d\)为\(p\)的二次剩余时其值为\(1\),否则为\(-1\),\(p|d\)时值为\(0\)。
考虑将\(p\)的既约剩余系分为对称的两部分\(-\dfrac{p-1}{2},\cdots,-2,-1\)和\(1,2,\cdots,\dfrac{p-1}{2}\),显然\((-x)^2=x^2\),而当\(1\leqslant i<j\leqslant\dfrac{p-1}{2}\)时,\(i^2-j^2=(i+j)(i-j)\not\equiv 0\pmod{p}\),所以\(i^2\not\equiv j^2\pmod{p}\)。综合以上分析可知,\(p\)共有\(\dfrac{p-1}{2}\)个二次剩余,\(\dfrac{p-1}{2}\)个二次非剩余,每个二次剩余有两个互为相反数的根。
我们自然要问:哪些数是二次剩余?如何判断它是二次剩余?根据欧拉定理有\(d^{p-1}\equiv 1\pmod{p}\),容易证明\(d^{\frac{p-1}{2}}\equiv\pm 1\pmod{p}\)。若\(d\)为二次剩余,则有\(d^{\frac{p-1}{2}}\equiv(x)^{p-1}\equiv 1\pmod{p}\)。若不为二次剩余,我们可以将\(1,2,\cdots,p-1\)按照乘积为\(d\)配成\(\dfrac{p-1}{2}\)对,根据威尔逊定理有\(d^{\frac{p-1}{2}}\equiv -1\pmod{p}\)。综合这两个结论就是二次剩余的欧拉判别法(公式(11)),当然对于大模数这个方法的计算量还是太大,它仅有理论价值。
\[\left(\dfrac{d}{p}\right)=\pm 1\equiv d^{\frac{p-1}{2}}\pmod{p}\tag{11}\]
对于一些特殊值,可以单独讨论,得出的结论也是可以直接使用的。首先容易证明\(-1\)只有在\(p=4k+1\)时才是二次剩余,并且由威尔逊定理知\((\dfrac{p-1}{2})!\)是它的解。而且当\(p=4k+1\)时,显然\(x,-x\)同时是或不是二次剩余,呈对称分布。当(p=4k+3\)时,显然\(x,-x\)有且仅有一个二次剩余,这些结构都是很有用的。再来看几个习题:
• 讨论\(x^2+ay^2\equiv 0\pmod{p},(x,y)=1\)有解的充要条件,并给出求解的方法;
• 求模\(p\)下所有二次剩余的积与和,再求模\(p\)下所有二次非剩余的积与和。
使用勒让德符号能更清晰地表述二次剩余的性质,以下性质比较简单,请自行证明:
(1)\(\left(\dfrac{d+kp}{p}\right)=\left(\dfrac{d}{p}\right)\);
(2)\(\left(\dfrac{d_1d_2}{p}\right)=\left(\dfrac{d_1}{p}\right)\left(\dfrac{d_1}{p}\right)\);
(3)\(\left(\dfrac{d^2}{p}\right)=1\);\(\left(\dfrac{1}{p}\right)=1\);\(\left(\dfrac{-1}{p}\right)=(-1)^{\frac{p-1}{2}}\)。
使用素数分解并结合以上性质,可将求一般\(\left(\dfrac{d}{p}\right)\)的问题转化为求解\(\left(\dfrac{2}{p}\right)\)和\(\left(\dfrac{q}{p}\right)\)上。现在从另一方面讨论\(d^{\frac{p-1}{2}}\),在剩余系\(1,2,\cdots,p-1\)中考察\(\dfrac{p-1}{2}\)个数\(d,2d,\cdots,\dfrac{p-1}{2}d\)的分布。容易证明它们互不相同且互不相反,所以它们是以\(\dfrac{p}{2}\)为对称轴的两个数之一,右半边的数(设个数为\(n\))需要取相反数才能回到左边。考虑它们的积则容易有\(d^{\frac{p-1}{2}}\equiv (-1)^n\pmod{p}\),这样就有了二次剩余新的判定方法(公式(12)左),特别地时可以推得\(d=2\)是二次剩余的条件是\(p=8k\pm 1\)(可写成公式(12)右,等价性自证)。
\[\left(\dfrac{d}{p}\right)=(-1)^n,\quad \left(\dfrac{2}{p}\right)=(-1)^{\frac{p^2-1}{8}}\tag{12}\]
对一般的\(d\)继续上面的结论,注意到\(dk=p[\dfrac{dk}{p}]+r_k\)(\([x]\)是取整操作),对它们求和并在模\(2\)下讨论,可以得到式子(13)。而后者有显著的几何意义,它是一个直角三角形区域内的整点个数。考虑\(\left(\dfrac{q}{p}\right)\)对应的\(\triangle{OAB}\)和\(\left(\dfrac{p}{q}\right)\)对应的\(\triangle{OAC}\),它们正好组成了一个长方形区域,这样就得到了著名的高斯二次互反律(公式(14))。
\[n\equiv\sum_{k=1}^{\frac{p-1}{2}}{\left[\dfrac{dk}{p}\right]}\pmod{2}\tag{13}\]
\[\left(\dfrac{q}{p}\right)\left(\dfrac{p}{q}\right)=(-1)^{\frac{(p-1)(q-1)}{4}}\tag{14}\]
有了这个公式,就可以将\(\left(\dfrac{q}{p}\right)\)不断转化为更小模数的判定式,从而最终解决了任意\(\left(\dfrac{d}{p}\right)\)的求解。请思考以下问题:
• 求以\(3\)为二次剩余的充要条件,并由此对\(100^2-3\)进行因式分解;
• 求证\(x^4+1\)的奇素因子都有格式\(8k+1\);并由此证明格式为\(8k+1\)的素数有无穷多个;
• \(p=4k+3\),求证\(2p+1\)为素数的充要条件是\(2^p\equiv 1\pmod{2p+1}\);
• \(p\nmid a\),求\(\sum\limits_{x=1}^{p}{\left(\dfrac{x^2+ax}{p}\right)}\)(提示:剩余系的遍历)。
在使用勒让德符号时要保证模数是素数,这一点很不方便,我们希望这种记法能更通用一点。扩展后的符号称为雅克比(Jacobi)符号:\(\left(\dfrac{d}{P}\right)=\prod\limits_{k=1}^n{\left(\dfrac{d}{p_k}\right)}\),其中\(P=p_1p_2\cdots p_n\)。雅克比符号虽然只是一个记法,但形式上却同样有着漂亮的性质,首先有下面几个简单的性质:
(1)\(\left(\dfrac{d+kP}{P}\right)=\left(\dfrac{d}{P}\right)\);
(2)\(\left(\dfrac{d_1d_2}{P}\right)=\left(\dfrac{d_1}{P}\right)\left(\dfrac{d_1}{P}\right)\);\(\left(\dfrac{d}{P_1P_2}\right)=\left(\dfrac{d}{P_1}\right)\left(\dfrac{d}{P_2}\right)\);
(3)\(\left(\dfrac{d^2}{P}\right)=\left(\dfrac{d}{P^2}\right)=1\)。
在得到更多结论之前,需要一个引理:如果\(a=\prod a_k,a_k\equiv 1\pmod{m},(k=1,2,\cdots,n)\),则用归纳法可以有公式(15)。
\[\dfrac{a-1}{m}\equiv\sum_{k=1}^n{\dfrac{a_k-1}{m}}\pmod{m}\tag{15}\]
利用这个结论就很容易得到雅克比符号的以下性质,这些性质可以使得雅克比公式的使用更加自由,中间无需关心操作数是否为素数,比如\(\left(\dfrac{105}{317}\right)=\left(\dfrac{2}{105}\right)=1\)。
(4)\(\left(\dfrac{-1}{P}\right)=(-1)^{\frac{P-1}{2}}\);\(\left(\dfrac{2}{P}\right)=(-1)^{\frac{P^2-1}{8}}\);
(5)\(\left(\dfrac{Q}{P}\right)\left(\dfrac{P}{Q}\right)=(-1)^{\frac{(P-1)(Q-1)}{4}}\)。