推论1: 方程ax≡b(mod n)对于未知量x有解,当且仅当gcd(a,n) | b (b能被gcd(a,b)整除)。

即:若gcd(a,n)|b ==> 有一个解x,使得ax≡b(mod n).

推论2:方程ax≡b(mod n)或者对模n有d个不同的解(有解当且仅当d | b),其中d=gcd(a,n),或者无解。

定理1:设d=gcd(a,n),假定对整数x'和y'满足d=ax'+by'(比如用扩展Euclid算法求出的一组解)。如果d | b,则该方程对模n有d个不同的解,方程ax≡b(mod n)有一个解x0满足x0=x'*(b/d) mod n 通解为xi = x0 + i*(n / d)(d = 0, 1, 2, ..., d - 1)。特别的设e=x0+n,方程ax≡b(mod n)的最小整数解x1=e mod (n/d),最大整数解x2=x1+(d-1)*(n/d)。

定理2:假设方程ax=b(mod n)有解,且x0是方程的任意一个解,则该方程对模n恰有d个不同的解(d=gcd(a,n)),分别为:xi=x0+i*(n/d) mod n 。

类似地: 可以求ax + by = c的整数解(x, y)。==> ax ≡ c(mod b), d = gcd(a, b) | c 时有解。有一个解x0 = x’* (c / d) mod b,  y0 = (-a * x0 - c) / b; 通解xi = x0 + i * (b / d), yi = y0 - i * (a / d) (i = 0, 1, 2, ..., d - 1)。

附:扩展欧几里得代码

int exgcd(int a, int b, int& x, int& y)
{
if(b == 0)
{
x = 1;
y = 0;
return a;
}
int r = exgcd(b, a%b, x, y);
int t = x;
x = y;
y = t - a/b* y;
return r;
}

模线性方程ax≡b(mod n) (再结合 程序理解)相关推荐

  1. POJ 2115 模线性方程 ax=b(mod n)

    /* (x*c+a)%(2^k)==b →(x*c)%(2^k)==b-a 满足定理: 推论1:方程ax=b(mod n)对于未知量x有解,当且仅当gcd(a,n) | b.推论2:方程ax=b(mo ...

  2. 【原创】更相减损术 stein算法 欧几里得算法 拓展欧几里得算法 扩展欧几里得算法 逆元的计算与筛法 解模线性方程

    欧几里得 说在前面 数论学复习 Part 6. 然后再来一章CRT和组合数,就飞往概率,以此为跳板去向DP. 计划很美啊你. P.S. 这么说来拉格朗日插值可以说是数论学复习的Part 0了啊. 有一 ...

  3. Java实现算法导论中求解模线性方程解(基于最大公约数欧几里得扩展算法)

    基于最大公约数欧几里得扩展算法求解算法导论中模线性方程解.具体要结合算法导论中的有关数论算法章节理解,具体代码如下: package cn.ansj;/*假设方程ax=b(mod n)有解,且x0是方 ...

  4. matlab二次同余方程,解同余式ax ≡ c(mod m)

    将式子变形为 ax-c=my 可以看出原式有解当且仅当线性方程ax-my=c有解 设g = gcd(a, m) 则所有形如ax-my的数都是g的倍数 因此如果g不整除c则原方程无解. 下面假设g整除c ...

  5. 扩展欧几里得算法、ax+by=c求解、ax≡c(mod m)、逆元求解、(b/a)%m计算c++代码

    参考 <算法笔记>(胡凡) 扩展欧几里得算法 求解ax+ by = gcd(a, b) int exGcd(int a, int b, int &x, int &y) {i ...

  6. sgu 106 The equation ★★(线性方程ax+by=c限制区间的解)

    题目大意:给定a,b,c,x1,x2,y1,y2,求满足a*x+b*y+c = 0的解x满足x1<=x<=x2,y满足y1<=y<=y2.求满足条件的解的个数. 题目链接:ht ...

  7. 模线性方程(中国剩余定理+扩展中国剩余定理)

    已知一系列除数和模数,求最小的满足条件的数 我们先考虑一般的情况,即模数不互质.(扩展中国剩余定理) 我们考虑两个方程的情况 x%M=R x=k1∗M+Rx=k1 * M+Rx=k1∗M+R x%m= ...

  8. 我的世界java版如何装mod_Java版 Mod(模组)API下载 | Mod安装教程 [1.13.2-1.2.5]

    您尚未登录,立即登录享受更好的浏览体验! 您需要 登录 才可以下载或查看,没有帐号?注册(register) x 本帖最后由 1094822247 于 2019-4-15 19:39 编辑 注意事项: ...

  9. 同余方程 ax≡1(mod b) POJ 1061 青蛙的约会

    题目:求 ax%b=c ax\%b=c最小正整数x解,题目中的 c c=1. 先感谢两位大犇ngncmh和笑巧. 对于一般的问题,我们通常有两种做法: 1)1) Baby Step Giant Ste ...

最新文章

  1. 驱动学习之LED驱动框架
  2. CPU与GPU的区别
  3. P3203-[HNOI2010]弹飞绵羊【分块】
  4. mjpg-streamer框架分析
  5. 动态规划几种状态剪裁比较
  6. 卷积神经网络(基础篇)
  7. MXNet结合kubeflow进行分布式训练
  8. Android游戏开发基础part4--Bitmap位图的渲染与操作
  9. 深入理解CSS中的line-height的使用
  10. 关于使用struts2上传文件时获取不到文件内容的问题的解决方案
  11. [python实现设计模式]-3.简单工厂模式-触宝开放平台
  12. 如何在恢复模式下启动 Mac?
  13. Python机器学习预测算法
  14. 2020辅警考试计算机知识题,2019年辅警考试题库:计算机概述-计算机软件系统
  15. 艺术范,技术芯——读达芬奇有感
  16. numpy.arccos详解
  17. WIN10 系统重新安装 WIN7 系统步骤
  18. 《基于C/S模式的android手机与PC机通信系统的开发》项目
  19. 用计算机知道函数值求度数,怎么计算出余弦的度数
  20. Cache 的地址映像方式(4种)

热门文章

  1. QQ能上,但是网页打不开?
  2. java.lang.IllegalStateException: Ambiguous handler methods
  3. 使用IDEA第一次open或者import新的gradle项目出现Refresh gradle project卡死的附解决办法
  4. 浅谈因子分析(Factor Analysis)
  5. Fruit 有上下限的母函数
  6. keep sb updated_keep you update 和keep you updated哪个正确?
  7. Python pandas库|任凭弱水三千,我只取一瓢饮(5)
  8. kal渗透----缓冲区溢出个人笔记
  9. Hive中的in、exists和left semi join
  10. html阴影效果骰子,flex布局案例(骰子)