1. 同余方程
剩余类可以看做是一个新的数系,它对加减乘运算是封闭的,所以同余方程对多项式是有意义的。本节我们就来讨论一元多项式方程(1)的解,当然它的解是一个剩余类集合,最多有个解。
在正式解一个同余方程前,可以先进行一些简单的变形,最简单的就是将系数取模。对于两个多项式,如果它们的系数是模同余的,则称是模同余的。显然模同余的多项式的解也必然是相同的,一般将化简后多项式的次数称为方程的次数。同余方程中也不是完全不能用除法,当时,多项式乘上就可以变成首多项式。
进一步,如果恒成立,则称是模等价的。比如根据费马小定理,和就是等价的。显然同余的多项式必定是等价的,但等价的多项式却不一定是同余的。使用等价多项式可以对方程进行降次,比如模为的多项式一定可以通过多项式除法降为次数小于的多项式。对于一般的合数,其实容易有,则有恒等式,故任何多项式都等价于某个次数小于的多项式。
接下来自然是要对模数进行分解,记方程(1)的解的个数为,且中两两互素。容易证明解方程(1)的问题可以等价为解方程组(2)的问题,且有。
将模数进行素数分解,则我们可以把问题集中在解方程,我们来考虑对模“降次”。首先显然该方程的解也必然是的解,设为后者的解,则前者的解必定在中。将其带入原方程,注意去除含有的项(被整除),整理后得到,进而有式子(3)。由此当时,有唯一解。否则当时恒成立,否则无解。这样就有了如公式(4)的方程的解的网状关系图,特别地当无解时,所有的解相同。
现在我们的问题被转化成了方程,研究的方向和一般多项式方程类似,是关于方程解的个数和多项式格式。先假设方程已经做了同余简化,但还未做等价简化,使用多项式除法和归纳法可以有以下拉格朗日定理:若方程有个不同的解,则必定有唯一表达式(5),其中的首项为,的次数低于。该定理说明了次同余方程的解的个数不可能大于,反之若大于,则必恒为。
拉格朗日定理给出了多项式同余方程与根有关的格式,值得注意的是,该格式与原多项式是同余,也就是它的本来面貌,这点很重要。该定理还有其它有趣的应用,比如由欧拉定理知有个非零解,则有公式(6),令即可得到威尔逊定理!如果再比较和项的系数,就会有公式(7)(8)。还有值得一提的是,同余方程同可以有“重根”的概念,有兴趣你可以自己研究一下。
接下来我们假定方程做了等价简化,即的次数小于且首项系数为,看看会有什么性质。首先若有,则有个根,从而,换句话说,次数小于的首多项式如果等价则必唯一,即等价和同余是一致的。还有一个问题就是方程的根的个数问题了,当恰有个根时,有,而,这就有。反之也可以推得分别有个根。这就是说有个解的充要条件是存在唯一表达式(9)。
关于高次方程更进一步的结论比较少,这里也不作深究,而二项同余方程放到下一篇会更简单,所以这里也不讨论了。对一些低次方程,可以直接对其研究,我们先从最简单的一次剩余方程看起,显然它是否有解与不定方程是否有解是等价的,故有解的充要条件是。由同余的性质,原方程等价于方程(10)。故原方程共有个解,分别为,其中为任一解,也称为特解。如果将(10)简记为,则即为原方程的一个特解。
直接求逆是复杂的,一次方程一般用辗转相除法,对于一些特殊格式,你还可以动用一切同余的性质简化算法。尝试解决以下问题:
• 证明的解为,其中。并由此给出系数为的方程的解法;
• ,若解为,则是的解。
2. 二次剩余
现在来研究模为素数的二次同余方程,通过配方可以有,从而方程其实等价于二次二项方程,当然这里不去考虑和这样的平凡场景。如果方程有解,称为的二次剩余,否则叫二次非剩余。为方便描述,这里先引进勒让德(Legendre)符号,为的二次剩余时其值为,否则为,时值为。
考虑将的既约剩余系分为对称的两部分和,显然,而当时,,所以。综合以上分析可知,共有个二次剩余,个二次非剩余,每个二次剩余有两个互为相反数的根。
我们自然要问:哪些数是二次剩余?如何判断它是二次剩余?根据欧拉定理有,容易证明。若为二次剩余,则有。若不为二次剩余,我们可以将按照乘积为配成对,根据威尔逊定理有。综合这两个结论就是二次剩余的欧拉判别法(公式(11)),当然对于大模数这个方法的计算量还是太大,它仅有理论价值。
对于一些特殊值,可以单独讨论,得出的结论也是可以直接使用的。首先容易证明只有在时才是二次剩余,并且由威尔逊定理知是它的解。而且当时,显然同时是或不是二次剩余,呈对称分布。当(p=4k+3\)时,显然有且仅有一个二次剩余,这些结构都是很有用的。再来看几个习题:
• 讨论有解的充要条件,并给出求解的方法;
• 求模下所有二次剩余的积与和,再求模下所有二次非剩余的积与和。
使用勒让德符号能更清晰地表述二次剩余的性质,以下性质比较简单,请自行证明:
(1);
(2);
(3);;。
使用素数分解并结合以上性质,可将求一般的问题转化为求解和上。现在从另一方面讨论,在剩余系中考察个数的分布。容易证明它们互不相同且互不相反,所以它们是以为对称轴的两个数之一,右半边的数(设个数为)需要取相反数才能回到左边。考虑它们的积则容易有,这样就有了二次剩余新的判定方法(公式(12)左),特别地时可以推得是二次剩余的条件是(可写成公式(12)右,等价性自证)。
对一般的继续上面的结论,注意到(是取整操作),对它们求和并在模下讨论,可以得到式子(13)。而后者有显著的几何意义,它是一个直角三角形区域内的整点个数。考虑对应的和对应的,它们正好组成了一个长方形区域,这样就得到了著名的高斯二次互反律(公式(14))。

有了这个公式,就可以将不断转化为更小模数的判定式,从而最终解决了任意的求解。请思考以下问题:
• 求以为二次剩余的充要条件,并由此对进行因式分解;
• 求证的奇素因子都有格式;并由此证明格式为的素数有无穷多个;
• ,求证为素数的充要条件是;
• ,求(提示:剩余系的遍历)。
在使用勒让德符号时要保证模数是素数,这一点很不方便,我们希望这种记法能更通用一点。扩展后的符号称为雅克比(Jacobi)符号:,其中。雅克比符号虽然只是一个记法,但形式上却同样有着漂亮的性质,首先有下面几个简单的性质:
(1);
(2);;
(3)。
在得到更多结论之前,需要一个引理:如果,则用归纳法可以有公式(15)。
利用这个结论就很容易得到雅克比符号的以下性质,这些性质可以使得雅克比公式的使用更加自由,中间无需关心操作数是否为素数,比如。
(4);;
(5)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架