首页 > 其他分享 >[基础数论]同余方程笔记

[基础数论]同余方程笔记

时间:2023-05-20 09:02:54浏览次数:48  
标签:mathbb 方程 数论 笔记 pmod ax 同余 equiv

前言

在学习本节内容前,请确保已完成了二元不定方程的学习。

同余方程

有无解的判别

对于一个方程形如:

\[ax \equiv b \pmod m \]

其中

\[a,b \in \mathbb Z , m \in \mathbb Z^+ \]

并令

\[d=(a,m) \]



\(d \nmid b\) ,

则方程
\(ax \equiv b \pmod m\)
无解。



\(d \mid b\) ,

则方程
\(ax \equiv b \pmod m\)
恰有 \(d\) 个模 \(m\) 不同余的解。


证明

线性同余方程 \(ax \equiv b \pmod m\) 等价于二元不定方程 \(ax - my = b\).

整数 \(x\) 是方程的解,当且仅当存在整数 \(y\) 使得 \(ax - my = b\).

由上篇二元一次不定方程的学习,我们可知:若 \(d \nmid b\) ,则无解;而 \(d \mid b\) 时,则有无穷多解。

且方程 \(ax - my = b\) 的解: \(x=x_0 + (m/d)t , y = y_0 + (a/d)t\)。

为确定有多少不同余的解,我们来找一下当

\[x_1 = x_0 + (m/d)t_1 \]

\[x_2 = x_0 + (m/d)t_2 \]

这两个解同余的条件。


\[x_1 \equiv x_2 \pmod m \]

\[x_0 + (m/d)t_1 \equiv x_0 + (m/d)t_2 \pmod m \]

\[(m/d)t_1 \equiv (m/d)t_2 \pmod m \]

二元一次不定方程定理5可得:

\[t_1 \equiv t_2 \pmod d \]

这表明只要我们将 \(t\) 取 \(0,1,2,…,d-1\) , 就可以得到不同余的全部解(共 \(d\) 个模 \(m\) 不同余的解)。

  • 推论 :

\[a,b \in \mathbb Z,m \in \mathbb Z^+,(a,m)=1 \]

则对于同余方程

\[ax \equiv b \pmod m \]

恰有 \(1\) 个模 \(m\) 不同余的解。

标签:mathbb,方程,数论,笔记,pmod,ax,同余,equiv
From: https://www.cnblogs.com/wonder-land/p/17416719.html

相关文章

  • [基础数论]不定方程笔记
    前言在学习本节内容前,最好先学习同余的基本性质以加深理解。一堆定理定理1:若\[a,b,m,n\in\mathbbZ,c\mida,c\midb\]则\[c\mid(ma+nb)\]证明:令\(a=ce,b=cf\),代入\(ma+nb\)再提公因式即可。定理2:若\[a,b,c\in\mathbbZ\]则\[(a+cb,b)=(a,b)\]证......
  • 同余的基本性质
    同余的基本性质注:这里默认$a,b,c,d\in\mathbb{Z},m,k,d\in\mathbb{Z}^+$若$a_1\equivb_1\pmodm$,\(a_2\equivb_2\pmodm\),则\(a_1\pma_2\equivb_1\pmb_2\pmodm\).若$a_1\equivb_1\pmodm$,\(a_2\equivb_2\pm......
  • 【数论】Rust使用Miller-Rabin primality test判别素数
    题目地址https://ac.nowcoder.com/acm/contest/57677/A代码usestd::io::{self,BufRead,Write};fnis_prime_triival(n:i128)->bool{ifn<=1{returnfalse;}ifn==2{returntrue;}ifn%2==0{retur......
  • 软件测试的笔记 黑马程序员
     我想学会软件测试的课程。认真学呗。全部学了过一遍。认真学,自己想学。 ......
  • 学习笔记
    2023.4.17CF1820CTheButcher思路口胡:最后答案显然要么长跟最大的一样,或者宽跟最大的一样。先考虑长跟最大的一样。然后考虑贪心,每次删除长一样或宽一样的宽或长即可,只要能递归到中任意长货款为。trick:这是一道边界删除问题。跟前面有道题类似,就递归下去。trick:有时候合并题可......
  • 线段树学习笔记
    让我们来一步一步理解! 1.向上更新voidpush_up(intrt){//向上更新sum[rt]=sum[rt<<1]+sum[rt<<1|1];} 2.向下更新voidpush_down(intrt,intm){if(add[rt]){//若有标记,则将标记向下移动一层add[rt<<1]+=add[rt];add[rt......
  • Redis笔记(三):事务
    什么是Redis事务Redis事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。总结说:redis事务就是一次性、顺序性、排他性的执行一个......
  • es笔记六之聚合操作之指标聚合
    本文首发于公众号:Hunter后端原文链接:es笔记六之聚合操作之指标聚合聚合操作,在es中的聚合可以分为大概四种聚合:bucketing(桶聚合)mertic(指标聚合)matrix(矩阵聚合)pipeline(管道聚合)bucket类似于分类分组,按照某个key将符合条件的数据都放到该类别的组中mertic计......
  • kubebuilder笔记
    一、kubebuilder作用提供脚手架工具初始化CRDs工程,自动生成boilerplate代码和配置提供代码库封装底层的K8sgo-client二、kubebuilder整体流程用户自定义crd,将自定义的crd注册到scheme中,这样通过GVK能找到对应的go的struct,也能通过go的struct找对对应的GVKCache监听S......
  • 人月神话 读书笔记 03
    第9章削足适履9.1程序有多大?除了运行时间以外,它所占据的空间也是主要开销。当系统设计者认为对用户而言,常驻程序内存的形式比加法器、磁盘等更加有用时,他会将硬件实现中的一部分移到内存上。相反的,其他的做法是非常不负责任的。由于规模是软件系统产品用户成本中如此大的一个......