zoukankan      html  css  js  c++  java
  • 数论概论——第六章

    第六章 线性方程与最大公因数

    书上有一段是这样写的:

    本章就是要研究与方程 ax + by = gcd(a,b) 有关的性质和结论。

    解法,用欧几里德算法,也就是5.1介绍的算法。

    数论,都是研究整数范围之内的东西,

    既然是讨论整数解的问题,那么就会先考虑在何种情况下有解,在何种情况下无解。

    所以这里也是一样,研究的是线性方程和整数解的关系。

     ax + by = gcd(a,b) 

    这个其实是特殊的形式,

    解法用的是欧几里德算法

    对于一般形式

    如果对于一般形式:ax+by=c,我们可以在左边提出公因式gcd(a,b),那么得到

    也就是说,左边能保证是一个整数,因为xy是我们要求的整数解,而显然有gcd(a,b)|agcd(a,b)|b,因此如果右边c不能整除gcd(a,b),那么这个方程显然是无解的,也就是说,这个方程如果c不是gcd(a,b)的倍数,那么该方程无解。

    那如果cgcd(a,b)的倍数,是不是一定有解呢?如果ax+by=gcd(a,b)有解x'y',那么ax+by=k*gcd(a,b)也一定有解,因为可以让x'y'同乘以k得到一组解满足该方程,其实可以用欧几里得算法求ax+by=gcd(a,b)的解,解法如下:

     

                          

    其中左边是我们熟悉的欧几里得算法,右边是将欧几里得算法的加法变成了减法,而ab的最大公约数rn-1最终也能写成 k'a+k''b的形式,因此总能找到ax+by=gcd(a.b)的整数解,那么综上所述,式ax+by=c,如果cgcd(a,b)的倍数,那么该式总能找到整数解,否则找不到整数解。因为该算法是由欧几里得算法拓展而来,故名为拓展欧几里得算法。

     

    那么得到了ax+by=gcd(a,b)的一个特解,那么如果得到了gcd(a,b)=1时的通解,那么gcd(a,b)<>1的通解就很显而易见了。当gcd(a,b)=1时,通解应该是(x'+kb,y'-ka),因为将其代入公式a(x'+kb)+b(y'-ka)=ax'+by'=c,另外也可以从几何上考虑,做出ax+by=gcd(a,b)的图像,在此假设a=2,b=3,因此gcd(a,b)=1

    其中的点为x和y均为整数的点,假设我们确定了(x',y'),那么求下一个x''和y''可以假设

    因为要求x''和y''要是整数,故t为b的倍数,因此将t=kb代入上述方程组中即得到下一个解。而当gcd(a,b)<>1时,可以将gcd(a,b)除到左边,即:


             那么通解即为
     
     
    这个叫做线性方程定理
  • 相关阅读:
    [GL]行星运行1
    一个图的带权邻接表存储结构的应用
    [GDAL]3.影像金字塔构建
    [GDAL]1.GDAL1.8.1编译与第一个程序
    [GDAL]2.读取栅格和矢量数据
    C#迭代器
    GoogleEarth缓存机制探索
    AE开发三维的不足!
    [GDAL]4.影像的读取和显示
    [STL学习]1.概述
  • 原文地址:https://www.cnblogs.com/Lee-geeker/p/3253223.html
Copyright © 2011-2022 走看看