前面介绍的只是初等数论的基本概念,它有很多的应用场景,如果有机会以后我们还会看到,这里我只想单独举出不定方程的例子。不定方程又叫丢潘图方程,它们以整数(或有理数)为变量和参数,而且有两个以上的未知数,多以多项式形式出现。不定方程既是数论的应用,也是数论理论形成的来源,对不定方程的思考会动用起你全部的数论知识。这里仅列举一些简单的问题,作为知识巩固也好,作为娱乐欣赏也行。
1. 一次不定方程
最简单的不定方程就是一次方程(1),它表现为一个多元线性方程。如果你还记得前面最大公约数的线性组合定义,就容易得到方程有整数解的充要条件是。多元方程的第一步往往是降元,令,则方程等价于一次方程组(2)(想想为什么?以及为什么要先抽出最大公约数?)。如果对(2)式一直做类似处理,就会得到多个二元一次方程,这样就把问题集中到了简单的情景。
而对于二元一次方程,它有明显的几何意义,方程的解就是直线方程上的整数点,所有对其讨论都可以从图形中找出。容易看出,如果已知一个解,则方程的全部解为公式(3)。至于如何求得一个特解,一般还是用辗转相除法,对于一些简单的情况,也可以直接尝试各种值。
2. 商高方程及其扩展
2.1 商高方程
勾股定理大家都熟悉,有一个自然的问题是:如何求它的所有解?这个问题一般叫商高方程或毕达哥拉斯方程。容易证明当时方程的解两两互素,如果再限定解为正数,这样的解叫本原解 。方程的解要么是平凡解,要么是本原解的倍数,因此我们只需专注于找到所有本原解。
另外,因为素数的平方只能是的形式,可推得必定是一奇一偶,下面就假设为偶数,原方程整理为式子(4)。容易证明(这个性质以后会经常用),故可设和,其中。用表示就得到了方程的解(5),但要注意要使得它们两两互素,还需要限定(自行证明)。
做一个简单的推广,形如(6)式的方程这么解?这就是著名的费马大定理 (Fermat Last Theorem),当然它在1994年被彻底证明前叫费马猜想。费马发现它们并无非平凡解,并声称找到了一个绝妙的证明方法,但由于书的空白太小写不下。后来人经过了三百多年的努力,才用现代数学的方法将它攻破,大家多数倾向于认为费马的证明并不存在或并不成立。
使用类似的方法和无穷递降法,你可以证明无非平凡解,进而无非平凡解,它就是费马大定理在时的情况。证明过程你可以作为习题,并且思考一下如下问题:
• 求解和;
• 求解;(提示:无互质解)
• 证明都有无穷多组解。(提示:构造)
2.2
再来看费马大定理在的情景,欧拉证明了它没有非平凡解,采用的是无穷递降法。假设是使得最小的一组非零解,我们的目的是构造一组值更小的解。首先当然有,并且其中仅有一个偶数,经过调整后可以使为偶数。这时可以令,则有(总结成式(7)),这个变换的重要意义在于降次。
现在来研究,其中,它里面有我们熟悉的二次表达式。考察的每个素因子,因为,故总有(参考本篇第三段的最后一段)。使用公式(8)(使用复数证明这类等式更容易,并且体现了范数的思想),可知总有。下面证明总能找到合适的,使得关系式(9)成立。
使用归纳法证明,当时,公式(9)显然成立。若结论对成立,则考虑,我们的目的是找到表达式(9)。由前面的结论可有,且有和满足类似(9)的关系式。与刚才的式子相乘并除以得到(10),然后证明(10)式右侧的两项可以都是整数。若记,则由假设知存在和满足类似(9)的关系式。综合以上结论,可得到的相关结论(11),它们满足公式(9),定理得证。
现在回过头来看式子(7)中的。当时,由必为一奇一偶且互素(想想为什么)和为偶数,容易有,可以假设式子(12)左侧。而由上面的结论可知(12)的右侧成立,其中最右边三项互质,故有式子(13)。而。当时可以得到同样的结论,由此我们得到了一组积单调递减的解,这是不可能的,所以原方程没有非平凡解。
2.3
将商高方程在系数上进行扩展,得到一般性的(且无平方因子),当然我们只需研究其本原解。首先容易有,则存在,变换得到式子(14),从而是的二次剩余。这样我们就得到了方程有解的一个必要条件:分别是的二次剩余。
下面来看它们是否是方程有解的充分条件,使用的是降次法和构造法。另外,利用同余方程研究不定方程也是常见方法,这里我们可以先考虑同余方程(15)。先来看降次,首先容易判断,则可以有式(16)。对模也可以有类似的表达式,它们将原式表示成了两个线性表达式之积,问题也就容易转化到一次方程了。使用剩余定理可以将三个表达式的右侧统一成,再根据同余的性质就有式(17)。
要使方程(15)有解,可以先讨论,使用鸽笼原理容易得知它有满足条件(18)的解。这样我们就得到了方程(15)的解,为方便讨论,下面假设,其它情况都可以转化为这种情况。
现在令,比较容易推导出和,故有或。若,我们就得到了原不定方程的解。若,则乘以再配方就有式(19),不管各项是否全为零我们都能找到原方程的解。
至此充分性证明完毕,总结结论就是:有解的充要条件是分别是的二次剩余。
3. 平方数分解
数论中一个著名的问题是把整数表示成若干个平方数之和,平方和常出现于范数当中,其重要性不言而喻。我们先把条件设定得宽松一点,假设,如果时对所有成立,则显然时也成立,我们需要讨论有没有最小的使得所有都成立。当然问题还可以再做放宽,允许对有限个数不成立。当时,非平方数有无穷多个,故结论不成立。当时,都不能表示成两个平方和,结论也不成立。
当时,高斯得到过定理:自然数能表示为个平方和的充要条件是,这就说明了时我们要的结论还是不成立。高斯定理的充分性比较复杂,这里仅证明必要性。首先因为,所以,定理中时成立(其实这一点就已经说明了时结论不成立)。下面利用归纳法,当时必要性成立,如果有,必然有,从而两边可同时除以,这与时的必要性成立矛盾,故必要性对一切成立。
而幸运的是,当时,我们要的结论终于成立了,它就是著名的拉格朗日定理 :任何正整数都可以表示为四个平方数之和(公式(20)),故也称作四平方和定理 。这个定理的证明需要用到四平方和恒等式(21),两个四平方和之积也是四平方和。有了这个恒等式,我们的四平方和定理就等价于:任何素数都可以表示为四平方数之和。下面就来证明这个等价命题,注意证明的过程其实也就是寻找分解式的过程。
先来证明有解(这里的使得表达式非零)。当各自取遍时,各自遍历个不同的数,所以存在满足。这个结论说明存在使得有解,从这里开始,下面我们下面要不断缩小至。
首先如果,则显然,方程两边可以约去。其次如果,则四个数中必有偶数个奇数,它们可以两两组合为偶数,这样就得到式子(22)。经过以上两步如果仍有,将原式对取模,经过前面类似的整理可以有式子(23)。式(23)和原等式相乘并根据四平方和恒等式,可以有,并且由恒等式容易证明,两边除以,被再一次缩小。这个过程可以一直进行到,这就完成了证明。
现在我们把定理的条件加强一点,如果要求,结论还成立吗?首先容易证明如果,则必有,等式两边可以除以。利用这个特点并使用归纳法,可以证明都不能表示为四个非零平方数之和。当把放宽为时,考虑的分解式(24)。当时,先将表示为个非零平方的和,然后从式(24)中选择一个分解,最终总可以将表示为个非零平方之和。对于,可以一一验证,除了外都可以分解为个非零平方之和。这样就有结论,除了几个特殊值外,所有整数都能表示为个非零平方之和,当然由证明过程知道结论对也是成立的(只是特殊值会不一样)。
做个习题放松一下:
• 给出时的全部解。并由此证明有无穷多个使得方程不存在的解,有无穷多个使得方程不存在互不相等的解。
高斯定理给出了时方程有解的充要条件,现在来看时的情景,这个问题也是非常重要的。先来看素数的情况,显然它有解时必定有或。而当时,是的二次剩余,所以有解。使用和四平方和定理完全一样的方法(当然也得益于平方和恒等式:平方和之积也是平方和),可以构造出。
现在回到一般整数,其中无平方因子。由刚才的结论与平方和恒等式,如果不含素因子,则它必定能表示为平方和。反之如果能表示为,则它的任何素因子满足,故必有或。总结以上就有结论:可分解为二平方和的充要条件是不含素因子。
对时,可以提一个跟严格的问题:方程何时有的解。其实刚才的证明中已经看出,首先奇素数因子只能为,另外容易证明。反之如果或,前面的证明中已经表示它能表示为二互素数的平方和。接下来用归纳法可知该结果对也成立,用类似方法也能得到的组合还是成立。这样就得到结论:整数可分解为二互素数的平方和的充要条件是:不含因子和。
顺便提一下,对有解的条件,还有一个更通用的证法。首先同样有必要条件,下面来证充分性。证明的主要思路还是构造法,对的解,先来构造。方法很简单,限定,则必有模相等的两个数,相减即得。然后自然就有,又因为,所以就有。同样的证法也可以得到有解的充要条件是,但要注意越大,要排除的情况越多,结论不一定成立。最后思考一些问题:
• 求证不能表示为整数平方和的整数也不能表示为有理数的平方和,并讨论有理数能表示为有理数平方和的充要条件;
• 证明的正解唯一。
4. 佩尔方程
最后再来看一类很重要的方程:佩尔(Pell)方程,其中为非平方正数。方程经过整理可以得到表达式(25),它表示是的近似分数。这不由得使我们想到了连分数,尤其是其精度误差,也许只有连分数能达到,下面就来证明这一猜测。令表示的第个连分数,是方程的一组正解。
首先假设,由并根据渐进连分数的性质有,从而。如果,仅从分数的性质容易得到,而另一方面有式子(26),结合这两个式子可有,矛盾。所以必定有,接下来容易得到,从而我们知道方程的解必定是的渐进连分数的分子和分母。
下面就从这些渐进分数中寻找方程的解,通过计算渐进分数,可以得到,其中为余部的分母(参考课本)。并且从推导过程中可以得到仅在时为而不可能为,其中为连分数的循环周期。如此一来我们就得到了方程的所有解为,但要注意方程的值只能取其一,规律也是明显的,以后不加区分。
到这里为止,我们似乎已经解决了问题,但方程的解其实还没有一个清晰的表达方法,从方程本身的特点出发,也许还能有进一步的结论。方程的一大特点是等式值为,而左边是两个共轭数之积。不妨把方程的解与复数一一对应起来,由刚才的讨论可知任何满足的都是方程的解,并且都是方程的解。这样我们自然要问,是否每个都可以表示为的幂?
如果有,则有,而容易证也是方程的解。但方程不可能有比小的解,矛盾,故必然有,即方程的所有解都可以与表达式(27)中的复数一一对应。这样只要知道第一组解,就可以得到所有解,第一组解可以通过简单的遍历尝试得到,有些书上还给出了一定范围内的解的表,可供查阅。
最后来考虑一下以下问题:
• 求证时,讨论最小解下方程的取值;
• 不使用连分数理论讨论方程,先证明存在使得有无穷多解,然后证明有解,最后证是所有解;
• 使用佩尔方程证明,如果有解,则有无穷多组解;
• 证明若佩尔方程的解满足,则它是最小解。
【全篇完】
【推荐】国内首个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 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架