【初等数论】指数、原根与不定方程
1、指数
现在我们就开始为剩余系建立“坐标”,完全剩余系是连续的,剩余类本身就是很好的坐标,所以这里我们只需讨论既约剩余系。前面已经知道时,总存 d 在使得 ,满足条件的最小的称为a对模m的阶或指数,也可简记为,我们可以看出来当模 m 确定时,由 a 唯一的确定,d 是 a 的函数。为了得到更进一步的结论,我们先整理一下指数的一些简单性质如下:
(1)若 ,则 。从而有若,则;
(2);。
我们来继续研究指数的性质,首先考虑,由知,故可容易有公式(1),你可以简单停留思考下,有了(1)式后我们就可以从求 了。其次由定义显然有:若 ,则 。所以对互质分解 (分解模数),总有,再根据模的性质就有公式(2)。再进一步,对任意的a1,a2,⋯,an,考虑方程组的唯一解 a(剩余定理),显然有 ,再根据公式(2)可得 a 满足公式(3)。
再来研究 (分解底数),令,则显然有(提示:可以结合(1)式进行思考)。先看各个 互素的情况,这时 ,令 。因为,又因为互素。故,从而有公式(4)。如果不互素,一般并没有。但反过来,对任意的,利用公式(1)和(4)构造满足公式(5)的 a 还是很容易的。
指数在研究循环小数时有个有趣的结论。对既约分数,如果有,则是循环小数的充要条件是。如果,则最小循环周期为 c,并且小数点后的非循环数长度为。特别地,如果,则是纯循环小数。证明过程不是难,可以作为练习,提示:使用关系式
2、原根
由指数的性质(2)可知是个不同的数,特别地当时,它们遍历 m 的既约剩余系。这种关系使得既约剩余系变得特别简单,我们也由此找到了合适的坐标。为此,当 时称 g称为模 m的原根,它便是既约剩余系的单位元,负责将剩余系串成一个线性空间。先来思考如下几个问题:
• 如果 ,则 遍历m的既约剩余系时,也遍历既约剩余系;
• 若,或 ,都有 2 是的原根;
• 的素因子有形式或。
我们自然会有问题:什么样的模数有原根?有多少个原根?如何判定?前面已经知道,而除了这5种情况外(p为奇素数),容易证明其它都有,它们肯定没有原根,因为当模数 m 不属于上面这五种情况时,必有 m 为 或 或 ,而这里的 由 给出。这里的 由下列式子给出:
又因为我们有式子, 故可以得到 ,可自行验证。
下面就需要论证那5种情况是否有原根,直接验算可知1,2,4有原根。对于模p的情况,由公式(5)知存在g使得 ,首先当然有 。另外因为有全解,则 。从而 ,所以p有原根 g。
由 和 的等价性,并且 ,可知和有相同的原根,这样一来我们就只需要讨论模是否有原根了。当g是原根时,因为,故为或。要想g也是的原根,必须,即满足式子(6)。而如果该条件满足,用归纳法可以验算得它对一切都满足,即g是所有的原根。
现在只要能证明以上条件对成立(即),我们就找到了所有模的原根,研究证明了原根的存在性。对模 p 的原根 g,考察 和式子(7)中的变形。 中有且仅一个是 p 的倍数,取其它任何一个值都能得到了满足条件的原根,条件得证。
至此我们已经证明了原根存在的充要条件是模为 之一,但如果想要找出原根,目前还没有很简单的方法。一般只能逐个尝试每个数,然而利用公式(5)的构造法是可以加快计算的,比如如果已经知道和,因为,故素因子 2,3 必定也是模 41 的原根的素因子,经过尝试后得 是 41 的原根。
如果原根存在,选定一个原根 g 后,它的幂次遍历整个既约剩余系。如果 ,称 k 为a 的指标,记作 ,或简记为和 。指标将既约剩余系变成了一个完全剩余系,使其结构由分散的变为线性的,由此可以更好地研究它的性质。以下为原根的一些性质,其中性质(3)中蕴含了指数为的数有 φ(d)个,它们是 。特别地共有个原根,它们是 。
(1)
(2) ,特别地有
(3)
我们一直想把指数当做即约剩余系的“坐标”,现在就来着手做这件事。一般的,将模m进行素数分解,其既约剩余系的每个数 a 在各个维度都有一个值 。对 g_k\gamma_k=\gamma_{p_k^{e_k},g_k}(a_k)$就可以看做a 在第 k 维的坐标。
但对于,除外是没有原根的,时怎么建立坐标?通过归纳法你可以证明,并且容易知道是它的一个既约剩余系。这样任何既约数都有唯一表达式(8),就可以看做它的坐标。完整的就得到任何既约数的指标表达式(9)和(10)((10)中的是(9)中的取1、其它取0得来),使用(10)来证明威尔逊定理就简单多了。
3、二项同余方程
最后再来看同余方程(11)它一般称为二项同余方程。如果方程有解,称a为m的n次剩余,否则称为n次非剩余。对m进行素数分解后,方程可以化为一个方程组,我们只需分别讨论这些方程即可。
模 (p为奇素数)有原根 g,用它来分析二项方程会很简单(下面的讨论针对有原根的模m都成立)。将原根带入原方程,得到式子(12)的左侧,它显然对应于右侧的一元一次同余方程。可以先回顾一下一次方程的特点,令,则,且方程解的周期为,请先在脑子想象一下它们的布局。回到原方程,令,则方程有解的充要条件是,且共有个n次剩余。方程的解有d个,它们的周期是。
现在来把条件转化为与a直接相关的。因为,使用公式(1)直接有式子(13)。结合条件d|γ(a),显然有,它又等价于公式(14)。这就是方程有解的充要条件,明显二次剩余的判定条件只是它的特例。
对模的情景需要单独考虑,前面的讨论中说明了它的既约剩余系有两个独立的维度,故只需分别讨论两个维度就行了。令,可知方程有解的充要条件是且,方程解的个数为。展开说就是,当时有且仅有1解,既约剩余系的每个值都是n次剩余。当时有解的充要条件是且,并且有2d个解,共有个数是n次剩余。
下面把有解的充要条件转化为与 a 相关的,首先易知必有形式。因为,我们的条件其实等价于,这就得到充要条件为公式(15)。当然你也可以得到与类似的式子,但因为不如上式简洁,这里就不赘述了。
不定方程
经过前面关于初等数论的基础知识的学习和理解,这里我们就可以开始不定方程的简单论述。不定方程是初等数论向前发展直接的驱动力之一。不定方程又叫丢潘图方程,它们以整数(或有理数)为变量和参数,而且有两个以上的未知数,多以多项式形式出现。不定方程既是数论的应用,也是数论理论形成的来源,对不定方程的思考可以将前面学习过的知识和内容串起来。
4、一次不定方程
最简单的不定方程就是一次方程(1),它表现为一个多元线性方程。如果你还记得前面最大公约数的线性组合定义,就容易得到方程有整数解的充要条件是 。多元方程的第一步往往是降元,令,则方程等价于一次方程组(2)(想想为什么?以及为什么要先抽出最大公约数?)。如果对(2)式一直做类似处理,就会得到多个二元一次方程,这样就把问题集中到了简单的情景。
而对于二元一次方程 ,它有明显的几何意义,方程的解就是直线方程上的整数点,所有对其讨论都可以从图形中找出。容易看出,如果已知一个解 ,则方程的全部解为公式(3)。至于如何求得一个特解,一般还是用辗转相除法,对于一些简单的情况,也可以直接尝试各种值。
5、商高方程及其扩展
5.1 商高方程
勾股定理 大家都熟悉,有一个自然的问题是:如何求它的所有解?这个问题一般叫商高方程或毕达哥拉斯方程。容易证明当时方程的解两两互素,如果再限定解为正数,这样的解叫本原解。方程的解要么是平凡解 (0,0,0),要么是本原解的倍数,因此我们只需专注于找到所有本原解。
另外,因为素数的平方只能是的形式,可推得 x,y 必定是一奇一偶,下面就假设 y 为偶数,原方程整理为式子(4)。容易证明(这个性质以后会经常用),故可设和,其中 。用 表示 就得到了方程的解(5),但要注意要使得它们两两互素,还需要限定 (自行证明)。
做一个简单的推广,形如(6)式的方程这么解?这就是著名的费马大定理(Fermat Last Theorem),当然它在1994年被彻底证明前叫费马猜想。费马发现它们并无非平凡解,并声称找到了一个绝妙的证明方法,但由于书的空白太小写不下。后来人经过了三百多年的努力,才用现代数学的方法将它攻破,大家多数倾向于认为费马的证明并不存在或并不成立。
使用类似的方法和无穷递降法,你可以证明 无非平凡解,进而 无非平凡解,它就是费马大定理在时的情况。下面可以思考一下如下几个问题:
• 求解 和 ;
• 求解 ;(提示:无互质解)
• 证明 都有无穷多组解。(提示:构造)
5.2
再来看费马大定理在 的情景,欧拉证明了它没有非平凡解,采用的是无穷递降法。假设是使得 最小的一组非零解,我们的目的是构造一组值更小的解。首先当然有,并且其中仅有一个偶数,经过调整后可以使为偶数。这时可以令 ,则有 (总结成式(7)),这个变换的重要意义在于降次。
现在来研究 ,其中 ,它里面有我们熟悉的二次表达式。考察的每个素因子 p,因为 ,故总有(可参考下面将要介绍的平方数分解的最后一段)。使用公式(8)(使用复数证明这类等式更容易,并且体现了范数的思想),可知总有。下面证明总能找到合适的 ,使得关系式(9)成立。
使用归纳法证明,当 时,公式(9)显然成立。若结论对成立,则考虑 ,我们的目的是找到表达式(9)。由前面的结论可有 ,且有 和满足类似(9)的关系式。与刚才的式子相乘并除以 得到(10),然后证明(10)式右侧的两项可以都是整数。若记 ,则由假设知存在 和 满足类似(9)的关系式。综合以上结论,可得到的相关结论(11),它们满足公式(9),定理得证。
现在回过头来看式子(7)中的 。当 时,由 必为一奇一偶且互素(想想为什么)和 为偶数,容易有 ,可以假设式子(12)左侧。而由上面的结论可知(12)的右侧成立,其中最右边三项互质,故有式子(13)。而 。当 时可以得到同样的结论,由此我们得到了一组积单调递减的解,这是不可能的,所以原方程没有非平凡解。
5.3
将商高方程在系数上进行扩展,得到一般性的( 且无平方因子),当然我们只需研究其本原解 。首先容易有 ,则存在 ,变换 得到式子(14),从而是的二次剩余。这样我们就得到了方程有解的一个必要条件:分别是 的二次剩余。
下面来看它们是否是方程有解的充分条件,使用的是降次法和构造法。另外,利用同余方程研究不定方程也是常见方法,这里我们可以先考虑同余方程(15)。先来看降次,首先容易判断 ,则可以有式(16)。对模 也可以有类似的表达式,它们将原式表示成了两个线性表达式之积,问题也就容易转化到一次方程了。使用剩余定理可以将三个表达式的右侧统一成 ,再根据同余的性质就有式(17)。
要使方程(15)有解,可以先讨论 ,使用鸽笼原理容易得知它有满足条件(18)的解。这样我们就得到了方程(15)的解,为方便讨论,下面假设 ,其它情况都可以转化为这种情况。
现在令 ,比较容易推导出 和 ,故有 或 。若 ,我们就得到了原不定方程的解。若,则乘以 ab 再配方就有式(19),不管各项是否全为零我们都能找到原方程的解。
至此充分性证明完毕,总结结论就是: 有解的充要条件是 分别是|a|,|b|,|c|的二次剩余。
6、平方数分解
数论中一个著名的问题是把整数表示成若干个平方数之和 ,平方和常出现于范数当中,其重要性不言而喻。我们先把条件设定得宽松一点,假设 ,如果时对所有a成立,则显然时也成立,我们需要讨论有没有最小的n使得所有a都成立。当然问题还可以再做放宽,允许对有限个数不成立。当时,非平方数有无穷多个,故结论不成立。当时,都不能表示成两个平方和,结论也不成立。
当 时,高斯得到过定理:自然数能表示为3个平方和的充要条件是 ,这就说明了时我们要的结论还是不成立。高斯定理的充分性比较复杂,这里仅证明必要性。首先因为,所以 ,定理中时成立(其实这一点就已经说明了n=3时结论不成立)。下面利用归纳法,当 时必要性成立,如果有,必然有,从而两边可同时除以 4,这与 时的必要性成立矛盾,故必要性对一切e成立。
而幸运的是,当时,我们要的结论终于成立了,它就是著名的拉格朗日定理:任何正整数都可以表示为四个平方数之和(公式(20)),故也称作四平方和定理。这个定理的证明需要用到四平方和恒等式(21),两个四平方和之积也是四平方和。有了这个恒等式,我们的四平方和定理就等价于:任何素数都可以表示为四平方数之和。下面就来证明这个等价命题,注意证明的过程其实也就是寻找分解式的过程。
先来证明 有解(这里的1使得表达式非零)。当各自取遍时, 各自遍历 个不同的数,所以存在 满足。这个结论说明存在使得有解,从这里开始,下面我们下面要不断缩小m至1。
首先如果,则显然,方程两边可以约去。其次如果,则四个数中必有偶数个奇数,它们可以两两组合为偶数,这样就得到式子(22)。经过以上两步如果仍有 ,将原式对取模 m,经过前面类似的整理可以有式子(23)。式(23)和原等式相乘并根据四平方和恒等式,可以有 ,并且由恒等式容易证明 ,两边除以被再一次缩小。这个过程可以一直进行到,这就完成了证明。
现在我们把定理的条件加强一点,如果要求,结论还成立吗?首先容易证明如果 ,则必有,等式两边可以除以 4。利用这个特点并使用归纳法,可以证明都不能表示为四个非零平方数之和。当把放宽为时,考虑的分解式(24)。当时,先将x表示为4个非零平方的和,然后从式(24)中选择一个分解,最终总可以将a表示为5个非零平方之和。对于,可以一一验证,除了外都可以分解为5个非零平方之和。这样就有结论,除了几个特殊值外,所有整数都能表示为5个非零平方之和,当然由证明过程知道结论对n=6也是成立的(只是特殊值会不一样)。
在理解了上述介绍之后,可以尝试着思考下如下这个问题:
• 给出时的全部解。并由此证明有无穷多个a使得方程不存在的解,有无穷多个a使得方程不存在互不相等的解。
高斯定理给出了 时方程有解的充要条件,现在来看时的情景,这个问题也是非常重要的。先来看素数的情况 ,显然它有解时必定有或。而当时,−1是p的二次剩余,所以有解。使用和四平方和定理完全一样的方法(当然也得益于平方和恒等式:平方和之积也是平方和),可以构造出 。
现在回到一般整数,其中m无平方因子。由刚才的结论与平方和恒等式,如果m不含素因子,则它必定能表示为平方和。反之如果m能表示为,则它的任何素因子满足,故必有或。总结以上就有结论: 可分解为二平方和的充要条件是m不含素因子。
对时,可以提一个跟严格的问题:方程何时有的解。其实刚才的证明中已经看出,首先奇素数因子只能为,另外容易证明 。反之如果或,前面的证明中已经表示它能表示为二互素数的平方和。接下来用归纳法可知该结果对也成立,用类似方法也能得到的组合还是成立。这样就得到结论:整数可分解为二互素数的平方和的充要条件是:不含因子4和。
顺便提一下,对有解的条件,还有一个更通用的证法。首先同样有必要条件,下面来证充分性。证明的主要思路还是构造法,对的解,先来构造。方法很简单,限定,则必有模p相等的两个数,相减即得。然后自然就有,又因为 ,所以就有。同样的证法也可以得到有解的充要条件是,但要注意d越大,要排除的情况越多,结论不一定成立。最后思考一些问题:
• 求证不能表示为整数平方和的整数也不能表示为有理数的平方和,并讨论有理数能表示为有理数平方和的充要条件;
• 证明的正解唯一。
7、佩尔方程
最后再来看一类很重要的方程:佩尔(Pell)方程 ,其中d为非平方正数。方程经过整理可以得到表达式(25),它表示是的近似分数。这不由得使我们想到了连分数,尤其是其精度误差,也许只有连分数能达到,下面就来证明这一猜测。令表示的第k个连分数,是方程的一组正解。
首先假设,由并根据渐进连分数的性质有,从而。如果,仅从分数的性质容易得到,而另一方面有式子(26),结合这两个式子可有,矛盾。所以必定有,接下来容易得到,从而我们知道方程的解必定是的渐进连分数的分子和分母。
下面就从这些渐进分数中寻找方程的解,通过计算渐进分数,可以得到,其中为余部的分母(参考课本)。并且从推导过程中可以得到仅在时为1而不可能为−1,其中c为连分数的循环周期。如此一来我们就得到了方程的所有解为,但要注意方程的值只能取±1其一,规律也是明显的,以后不加区分。
到这里为止,我们似乎已经解决了问题,但方程的解其实还没有一个清晰的表达方法,从方程本身的特点出发,也许还能有进一步的结论。方程的一大特点是等式值为±1,而左边是两个共轭数之积。不妨把方程的解与复数一一对应起来,由刚才的讨论可知任何满足的x都是方程的解,并且都是方程的解。这样我们自然要问,是否每个都可以表示为 的幂?
如果有 ,则有 ,而容易证也是方程的解。但方程不可能有比小的解,矛盾,故必然有,即方程的所有解都可以与表达式(27)中的复数一一对应。这样只要知道第一组解,就可以得到所有解,第一组解可以通过简单的遍历尝试得到,有些书上还给出了一定范围内的解的表,可供查阅。
最后来考虑一下下面这几个问题:
• 求证时,讨论最小解下方程的取值;
• 不使用连分数理论讨论方程,先证明存在m使得有无穷多解,然后证明有解,最后证是所有解;
• 使用佩尔方程证明,如果有解,则有无穷多组解;
• 证明若佩尔方程的解满足,则它是最小解。
至此,到这儿。我们要介绍的初等数论的理论部分就结束了,后面几篇会跟着介绍下初等数论在工程实际中的应用。