同余方程、二次剩余、二次互反律
1、同余方程
剩余类可以看做是一个新的数系,它对加减乘运算是封闭的,所以同余方程对多项式是有意义的。这里我们就来讨论下一元多项式方程(1)的解,当然它的解是一个剩余类集合,最多有 m 个解。
在正式解一个同余方程前,可以先进行一些简单的变形,最简单的就是将系数取模。对于两个多项式 ,如果它们的系数是模m同余的,则称是模m同余的。记作
。显然模同余的多项式的解也必然是相同的,一般将化简后多项式的最高次数称为方程的次数。同余方程中也不是完全不能用除法,当时,多项式乘上 就可以变成首 1 多项式。
进一步,如果恒成立,则称是模 m 等价的。比如根据费马小定理,和就是等价的。显然同余的多项式必定是等价的,但等价的多项式却不一定是同余的。例如上面的例子 和就是等价的,但很明显能看出来其对应的幂次数签的系数并不同余,故两个式子不同余。使用等价多项式可以对方程进行降次,比如模为p的多项式 f(x) 一定可以通过多项式除法降为次数小于p的多项式 r(x)。对于一般的合数 m,其实容易有 ,则有恒等式,故任何多项式都等价于某个次数小于 m 的多项式。
在这里我们先从一般的类似(1)式的最复杂的情况的一般同余方程开始讨论,接下来自然是要对模数进行分解,记方程(1)的解的个数为,且中两两互素。容易证明解方程(1)的问题可以等价为解方程组(2)的问题,且有。
将模数进行素数分解,则我们可以把问题集中在解方程 ,在这里我们可以看出我们的思路其实还是比较清晰的,针对任意的模数 m,我们有算术基本定理将其分解成各个素数之积,于是我们把问题归结到模数为 ,而我们想要得到的一个好的结果就是可以找到模数为 与 单个素数之间的关系,或者递推关系最好,因为单素数这种情况最为简单。于是我们先来考虑对模“降次”。首先显然该方程的解也必然是的解,设c为后者的解,则前者的解必定在中。将其带入原方程,经过整理后有式子 ,其中即为的导函数为。注意去除含有的项(被整除),整理后得到 ,进而有式子(3)。于是我们来考察较为简单的一次同余方程式(3),易得当时,y 有唯一解。否则当,同时 (等价 )时恒成立,这时候(3)式子的解数为 p,即,这个时候再带入 即可得到的解,依次迭代上去即可得到模 的解,否则当,同时 (等价) 时无解。这样就有了如公式(4)的方程的解的网状关系图,分别对应了上面三种情况,特别地当无解时,所有的解相同。
现在我们的问题被转化成了方程,研究的方向和一般多项式方程类似,是关于方程解的个数和多项式格式。先假设方程已经做了同余简化,但还未做等价简化,使用多项式除法和归纳法可以有以下拉格朗日定理:若方程有 m 个不同的解 ,则必定有唯一表达式(5),其中g(x)的首项为,的次数低于 m。该定理说明了 n 次同余方程的解的个数不可能大于 n,反之若大于 n,则必恒为 0。
拉格朗日定理给出了多项式同余方程与根有关的格式,值得注意的是,该格式与原多项式是同余,也就是它的本来面貌,这点很重要。该定理还有其它有趣的应用,比如由欧拉定理知有 p−1 个非零解,则有公式(6),令即可得到威尔逊定理!如果再比较和项的系数,就会有公式(7)(8)。这里需要注意的是(7)中的与是关于[p-1/2]对称的,分别对应和前面的系数。还有值得一提的是,同余方程同可以有“重根”的概念,有兴趣朋友可以自己研究一下。
这里给出一个(8)式的简单的示意证明,首先因为 p 为素数,我们以 5 来作为示意展示,证明任意素数 p 时,只需将如下证明思路的模式从 5 推广到任意 p 即可。观察(8)并将 乘到和式里面,上式左边便变为了 其中 的定义同以前文章中的定义及 的阶乘除以 , 于是问题就归结到了证明如下式子:
当 p = 5时,易知 ,同理其他式子也是一样,于是我们可观察得到,当 p = 5 时
并且此方法可以推广到任意的素数 p,于是(8)式得证。
接下来我们假定方程做了等价简化,即的次数小于p且首项系数为 1,看看会有什么性质。首先若有,则有p个根,从而,换句话说,次数小于p的首1多项式如果等价则必唯一,即等价和同余是一致的。还有一个问题就是方程的根的个数问题了,当恰有n个根时,有,而,这就有。反之也可以推得分别有个根。这就是说有n个解的充要条件是存在唯一表达式(9)。
关于高次方程更进一步的结论比较少,这里也不作深究,而二项同余方程放到后面的不定方程讨论会更简单,所以这里也不讨论了。对一些低次方程,可以直接对其研究,我们先从最简单的一次剩余方程看起,显然它是否有解与不定方程是否有解是等价的,故有解的充要条件是。由同余的性质,原方程等价于方程(10)。故原方程共有个解,分别为,其中为任一解,也称为特解。如果将(10)简记为,则即为原方程的一个特解。
直接求逆是复杂的,一次方程一般用辗转相除法,对于一些特殊格式,还可以动用一切同余的性质简化算法。你可以试解决下面这几个问题:
• 证明的解为,其中 。并由此给出系数为的方程的解法;
• ,若解为,则是的解。
2、二次剩余
现在来研究模为素数的二次同余方程,通过配方可以有,从而方程其实等价于二次二项方程,当然这里不去考虑和这样的平凡场景。如果方程有解,称为的二次剩余,否则叫二次非剩余。为方便描述,这里先引进勒让德(Legendre)符号,并且勒让德符号或函数有三个取值,当 为的二次剩余时其值为1,否则为 −1,当 时值为 0。
考虑将的既约剩余系分为对称的两部分和,显然 ,而当时,,所以。从而上面的式子给出了模 p 的全部二次剩余,故共有个二次剩余,又因为模 p 的既约剩余系共有 p-1 个数,所以另外的(p-1)/2 个都是模p的二次非剩余,共有个二次非剩余,每个二次剩余有两个互为相反数的根。
我们自然要问:哪些数是二次剩余?如何判断它是二次剩余?根据欧拉定理有,通过移项平方差构造容易证明 。若 为二次剩余,则有。若不为二次剩余,我们可以将按照乘积为配成对,根据威尔逊定理有。综合这两个结论就是二次剩余的欧拉判别法(公式(11)),当然对于大模数这个方法的计算量还是太大,它仅有理论价值。
对于一些特殊值,可以单独讨论,得出的结论也是可以直接使用的。首先容易证明只有在时才是二次剩余,并且由威尔逊定理知 是它的解。而且当 时,显然 同时是或不是二次剩余,呈对称分布。当 时,显然x,−x有且仅有一个二次剩余,从上面的欧拉判别式即可得到此结论。这些结构都是很有用的。接下来我们可以来看看如下几个小练习:
• 讨论 有解的充要条件,并给出求解的方法;
• 求模 下所有二次剩余的积与和,再求模 p 下所有二次非剩余的积与和。
使用勒让德符号能更清晰地表述二次剩余的性质,如下列的这些性质(可自行验证):
(1)
(2);
(3);;
使用素数分解并结合以上性质,可将求一般 的问题转化为求解和 上。现在从另一方面讨论 ,在剩余系 中考察 个数 的分布,即在既约剩余系中的前 (p-1)/2 个数乘以二次剩余 d,然后观察那些落在了 0到 p/2 内,那些落在了 p/2 到 p 内。容易证明它们互不相同且互不相反,所以它们是以 为对称轴的两个数之一,右半边的数(设个数为n)需要取相反数才能回到左边。考虑它们的积则容易有 ,这样就有了二次剩余新的判定方法(公式(12)左),特别地时可以推得 是二次剩余的条件是(可写成公式(12)右)。
对一般的 继续上面的结论,注意到 ([x]是取整操作),对它们求和并在模2 下讨论,可以得到式子(13)。而后者有显著的几何意义,它是一个直角三角形区域内的整点个数。考虑 对应的和对应的,它们正好组成了一个长方形区域,这样就得到了著名的高斯二次互反律(公式(14))。
有了这个公式,就可以将 不断转化为更小模数的判定式,从而最终解决了任意 的求解。如果上述证明过程,你感觉还有些不太清楚的话,你还可以参考这里: 如何简洁地证明二次互反律?
在经过上述的论述之后,你还可以尝试思考下下面这几个问题:
• 求以3为二次剩余的充要条件,并由此对 进行因式分解;
• 求证 的奇素因子都有格式 ;并由此证明格式为 的素数有无穷多个;
• ,求证为素数的充要条件是;
• ,求 (提示:剩余系的遍历)。
在使用勒让德符号时要保证模数是素数,这一点很不方便,我们希望这种记法能更通用一点。扩展后的符号称为雅克比(Jacobi)符号:,其中。雅克比符号虽然只是一个记法,但形式上却同样有着漂亮的性质,首先有下面几个简单的性质:
(1) ;
(2);;
(3)。
在得到更多结论之前,需要一个引理:如果,则用归纳法可以有公式(15)。
利用这个结论就很容易得到雅克比符号的以下性质,这些性质可以使得雅克比公式的使用更加自由,中间无需关心操作数是否为素数,比如 。
(4) ;
(5)
3、特殊二次方程的快速解法
上面我们探讨一般性的同余方程,然后又探讨了较为简洁的二次同余方程的一般形式,在这里我们继续介绍一些特殊的二次同余方程的快速解法。这在利用计算机进行运算时时常会被用到。众所周知,一个素数 只可能是 。在这之中,对于为的素数 ,我们都能够快速地解出二次方程。
快速解法的要义实质上就是凑!但是如何优雅地凑、在凑的过程中碰到困难如何处理等等还是很有意思的。
首先,我们拿到一个二次方程后自然地会用Legendre符号 判断其是否有解。在这里我们自然要讨论 的二次方程。那么利用 Euler 判别法,。这就是我们凑方程解的起点所在。
自然地,我们有,下面把左侧凑成平方形式: ,从而得到方程的解为: 。但是我们得确保 ,故这个方法仅仅对于 为的素数有效!
对于剩余类型的素数,我们可以换一个思路:先对于 做因式分解(这是个常用的思路),得到 。故 或 成立。(注意到这里 为 的素数都能保证 )
若 成立,则开始凑:,故 ,解为 。这个做法要求 ,故仅对于有效。
反之,若成立, 。但是我们遇到了问题:我们该如何凑出一个数,使得其平方在 意义下为 -1 呢?Wilson 定理给了我们答案!对于素数 p,
即 。这样一来立马得到解为: ,这个做法同样仅对于 有效。这里的Wilson定理使用得太为精妙了,这告诉我们Wilson定理不仅仅为我们提供了一个数为素数的充要条件,其也帮助我们计算出了域 上的 !
由于上述讨论中我们一直假定p 为奇素数,故我们一直没讨论模为 时的方程解法。下面我们讨论方程,其中假定 n 为奇数。
当模为 2 或 4 时我们分类讨论容易得到结论。模为2 时的解存在唯一,而模为4 时要么无解要么有唯一解,解存在的充要条件为 。(这很自然,因为所有奇数的平方都是模 4 余 1 的)
在模为时,我们先讨论其解的存在性与解的结构。
方程的解存在当且仅当 (这很好理解,因为所有奇数的平方都是模8 余 1 的),且给定方程特解 后,可以确定其所有四个解 。你可以自己验证下。
具体求解的情形中我们效仿高次同余方程的做法,利用 的解构造 的解。若前一个方程有解,则必定为后一个方程的解,这是极其容易验证的。
故对于形如 的方程,我们只需要先考虑 ,求出其解后即可写出 的解,以此类推,最终写出一个 的解 。那么由这类方程解的结构,其全部四个解 我们就都知道了!