ax²+bx+c≡0 mod m 和 x²≡a mod p的解存在性分析
索引
- f(x)=ax2+bx+c≡0modmf\left( x \right)=a{{x}^{2}}+bx+c\equiv 0\text{ }\bmod mf(x)=ax2+bx+c≡0 modm的解存在性分析
- 模mmm的平方剩余与平方非剩余的定义
- x2≡amodp{{x}^{2}}\equiv a\text{ }\bmod px2≡a modp(ppp是一奇素数,gcd(a,p)=1\gcd \left( a,p \right)=1gcd(a,p)=1)的解存在性分析
- Euler判别法:ppp是一奇素数,若gcd(a,p)=1\gcd \left( a,p \right)=1gcd(a,p)=1,则a是模p的平方剩余⇔ap−12≡1modp,此时恰有两解a是模p的平方非剩余⇔ap−12≡−1modp\begin{aligned} & a是模p的平方剩余\Leftrightarrow {{a}^{\frac{p-1}{2}}}\equiv 1\text{ }\bmod p,此时恰有两解 \\ & a是模p的平方非剩余\Leftrightarrow {{a}^{\frac{p-1}{2}}}\equiv -1\text{ }\bmod p \\ \end{aligned}a是模p的平方剩余⇔a2p−1≡1 modp,此时恰有两解a是模p的平方非剩余⇔a2p−1≡−1 modp
- 定理1:设ppp是一奇素数,则模ppp的非零平方剩余,平方非剩余各有p−12\frac{p-1}{2}2p−1个
- 定理2:ppp是一奇素数,02,12,⋯,(p−12)2modp{{0}^{2}},\text{ }{{1}^{2}},\text{ }\cdots ,\text{ }{{\left( \frac{p-1}{2} \right)}^{2}}\text{ }\bmod p02, 12, ⋯, (2p−1)2 modp是模ppp的全部平方剩余。
- 推论:模ppp的p−12\frac{p-1}{2}2p−1个非零平方剩余分别与序列12,22,⋯,(p−12)2{{1}^{2}},{{2}^{2}},\cdots ,{{\left( \frac{p-1}{2} \right)}^{2}}12,22,⋯,(2p−1)2中的一数同余,且仅与一数同余。
- 练习
f(x)=ax2+bx+c≡0modmf\left( x \right)=a{{x}^{2}}+bx+c\equiv 0\text{ }\bmod mf(x)=ax2+bx+c≡0 modm的解存在性分析
对mmm进行素因子分解得到
m=p1e1⋯pnenm={{p}_{1}}^{{{e}_{1}}}\cdots {{p}_{n}}^{{{e}_{n}}}m=p1e1⋯pnen
则原同余式等价于下面的同余式组
{ax2+bx+c≡0modp1e1⋮ax2+bx+c≡0modpnen\left\{ \begin{matrix} a{{x}^{2}}+bx+c\equiv 0\text{ }\bmod {{p}_{1}}^{{{e}_{1}}} \\ \vdots \\ a{{x}^{2}}+bx+c\equiv 0\text{ }\bmod {{p}_{n}}^{{{e}_{n}}} \\ \end{matrix} \right.⎩⎪⎨⎪⎧ax2+bx+c≡0 modp1e1⋮ax2+bx+c≡0 modpnen
故我们只需要讨论以素数模为模的同余式
ax2+bx+c≡0modpea{{x}^{2}}+bx+c\equiv 0\text{ }\bmod {{p}^{e}}ax2+bx+c≡0 modpe欲求解ax2+bx+c≡0modpea{{x}^{2}}+bx+c\equiv 0\text{ }\bmod {{p}^{e}}ax2+bx+c≡0 modpe,只需要解出ax2+bx+c≡0modpa{{x}^{2}}+bx+c\equiv 0\text{ }\bmod pax2+bx+c≡0 modp。
若f(x)≡0modpf\left( x \right)\equiv 0\text{ }\bmod pf(x)≡0 modp无解,则f(x)≡0modpef\left( x \right)\equiv 0\text{ }\bmod {{p}^{e}}f(x)≡0 modpe也无解。
若f(x)≡0modpf\left( x \right)\equiv 0\text{ }\bmod pf(x)≡0 modp有解,则根据Hensel引理一步步迭代求解即可。因此我们只需要讨论同余式
ax2+bx+c≡0modpa{{x}^{2}}+bx+c\equiv 0\text{ }\bmod pax2+bx+c≡0 modp下面基于ppp与a,b,ca,b,ca,b,c的关系进行分类讨论。
- 若p∣a&p∣b&p∣c\left. p \right|a\text{ }\And \text{ }\left. p \right|b\text{ }\And \text{ }\left. p \right|cp∣a & p∣b & p∣c,则同余式恒成立,∀x∈Z\forall x\in \mathbb{Z}∀x∈Z都是同余式的解。
- 若p∣a,p∣b,p∣c\left. p \right|a,\text{ }\left. p \right|b,\text{ }p\cancel{|}cp∣a, p∣b, p∣c,则ax2+bx+c≡c≡0modpa{{x}^{2}}+bx+c\equiv c\cancel{\equiv }0\text{ }\bmod pax2+bx+c≡c≡0 modp,故同余式无解。
- 若p∣a,p∣b\left. p \right|a,\text{ }p\cancel{|}bp∣a, p∣b,则ax2+bx+c≡bx+c≡0modpa{{x}^{2}}+bx+c\equiv bx+c\equiv 0\text{ }\bmod pax2+bx+c≡bx+c≡0 modp有解(因为gcd(b,p)=1\gcd \left( b,p \right)=1gcd(b,p)=1)。
- 若p>2,p∣ap>2,\text{ }p\cancel{|}ap>2, p∣a,则有
gcd(a,p)=1gcd(2,p)=1}⇒gcd(4a,p)=1\left. \begin{aligned} & \gcd \left( a,p \right)=1 \\ & \gcd \left( 2,p \right)=1 \\ \end{aligned} \right\}\Rightarrow \gcd \left( 4a,p \right)=1gcd(a,p)=1gcd(2,p)=1}⇒gcd(4a,p)=1
对同余式进行等价转化如下。
ax2+bx+c≡0modp⇔4a(ax2+bx+c)=(2ax+b)2+4ac−b2≡0modp⇔(2ax+b)2≡b2−4acmodp\begin{aligned} & a{{x}^{2}}+bx+c\equiv 0\text{ }\bmod p \\ & \Leftrightarrow 4a\left( a{{x}^{2}}+bx+c \right)={{\left( 2ax+b \right)}^{2}}+4ac-{{b}^{2}}\equiv 0\text{ }\bmod p \\ & \Leftrightarrow {{\left( 2ax+b \right)}^{2}}\equiv {{b}^{2}}-4ac\text{ }\bmod p \\ \end{aligned}ax2+bx+c≡0 modp⇔4a(ax2+bx+c)=(2ax+b)2+4ac−b2≡0 modp⇔(2ax+b)2≡b2−4ac modp
先解y2≡Δ=b2−4ac{{y}^{2}}\equiv \Delta ={{b}^{2}}-4acy2≡Δ=b2−4ac,若无解,则f(x)≡0modpf\left( x \right)\equiv 0\text{ }\bmod pf(x)≡0 modp肯定也无解;若有解,再解2ax+b≡ymodp2ax+b\equiv y\text{ }\bmod p2ax+b≡y modp,而由于gcd(2a,p)=1\gcd \left( 2a,p \right)=1gcd(2a,p)=1,因此这个一次同余式是肯定有解的,继而f(x)≡0modpf\left( x \right)\equiv 0\text{ }\bmod pf(x)≡0 modp肯定也是有解的。 - 若p=2,2∣ap=2,\text{ }2\cancel{|}ap=2, 2∣a,原同余式等价于
ax2+bx+c≡(1+b)x≡c≡0mod2a{{x}^{2}}+bx+c\equiv \left( 1+b \right)x\equiv c\equiv 0\text{ }\bmod 2ax2+bx+c≡(1+b)x≡c≡0 mod2
若bbb偶,则存在唯一解x≡cmod2x\equiv c\text{ }\bmod 2x≡c mod2;若bbb奇ccc奇,则无解;若bbb奇ccc偶,则有两解x≡0,1mod2x\equiv 0,1\text{ }\bmod 2x≡0,1 mod2。
基于上述讨论,全面解决一般二次同余式ax2+bx+c≡0modma{{x}^{2}}+bx+c\equiv 0\text{ }\bmod max2+bx+c≡0 modm的唯一一个难点是解
y2≡b2−4acmodp{{y}^{2}}\equiv {{b}^{2}}-4ac\text{ }\bmod py2≡b2−4ac modp
即涉及解如下形式的二次同余式
x2≡amodp{{x}^{2}}\equiv a\text{ }\bmod px2≡a modp
其中ppp是奇素数。这也就引出了下面要讨论的内容。
模mmm的平方剩余与平方非剩余的定义
设a∈Z,m∈Z>0a\in \mathbb{Z},\text{ }m\in {{\mathbb{Z}}_{>0}}a∈Z, m∈Z>0。
若x2≡amodm{{x}^{2}}\equiv a\text{ }\bmod mx2≡a modm有解,则称aaa为模mmm的平方剩余;
若x2≡amodm{{x}^{2}}\equiv a\text{ }\bmod mx2≡a modm无解,则称aaa为模mmm的平方非剩余。
x2≡amodp{{x}^{2}}\equiv a\text{ }\bmod px2≡a modp(ppp是一奇素数,gcd(a,p)=1\gcd \left( a,p \right)=1gcd(a,p)=1)的解存在性分析
设ppp是一奇素数,a∈Za\in \mathbb{Z}a∈Z且gcd(p,a)=1\gcd \left( p,a \right)=1gcd(p,a)=1,考虑同余式
x2≡amodp{{x}^{2}}\equiv a\text{ }\bmod px2≡a modp
Euler判别法:ppp是一奇素数,若gcd(a,p)=1\gcd \left( a,p \right)=1gcd(a,p)=1,则a是模p的平方剩余⇔ap−12≡1modp,此时恰有两解a是模p的平方非剩余⇔ap−12≡−1modp\begin{aligned} & a是模p的平方剩余\Leftrightarrow {{a}^{\frac{p-1}{2}}}\equiv 1\text{ }\bmod p,此时恰有两解 \\ & a是模p的平方非剩余\Leftrightarrow {{a}^{\frac{p-1}{2}}}\equiv -1\text{ }\bmod p \\ \end{aligned}a是模p的平方剩余⇔a2p−1≡1 modp,此时恰有两解a是模p的平方非剩余⇔a2p−1≡−1 modp
证明
gcd(a,p)=1\gcd \left( a,p \right)=1gcd(a,p)=1,ppp是素数,根据欧拉定理,有
aφ(p)=ap−1≡1modp{{a}^{\varphi \left( p \right)}}={{a}^{p-1}}\equiv 1\text{ }\bmod paφ(p)=ap−1≡1 modp
由于ppp是奇数,因此p−1p-1p−1是偶数,p−12∈Z\frac{p-1}{2}\in \mathbb{Z}2p−1∈Z,因此有ap−12∈Z{{a}^{\frac{p-1}{2}}}\in \mathbb{Z}a2p−1∈Z。上式可以等价写为
(ap−12)2≡1modp⇔(ap−12)2−1≡0modp⇔(ap−12+1)(ap−12−1)≡0modp\begin{aligned} & {{\left( {{a}^{\frac{p-1}{2}}} \right)}^{2}}\equiv 1\text{ }\bmod p \\ & \Leftrightarrow {{\left( {{a}^{\frac{p-1}{2}}} \right)}^{2}}-1\equiv 0\text{ }\bmod p \\ & \Leftrightarrow \left( {{a}^{\frac{p-1}{2}}}+1 \right)\left( {{a}^{\frac{p-1}{2}}}-1 \right)\equiv 0\text{ }\bmod p \\ \end{aligned}(a2p−1)2≡1 modp⇔(a2p−1)2−1≡0 modp⇔(a2p−1+1)(a2p−1−1)≡0 modp
又由于ppp是素数,Z/p{\mathbb{Z}}/{p}\;Z/p是一个域也是一个整环,因此有
(ap−12+1)(ap−12−1)≡0modp⇔ap−12+1≡0modp∨ap−12−1≡0modp⇔ap−12≡±1modp\begin{aligned} & \left( {{a}^{\frac{p-1}{2}}}+1 \right)\left( {{a}^{\frac{p-1}{2}}}-1 \right)\equiv 0\text{ }\bmod p \\ & \Leftrightarrow {{a}^{\frac{p-1}{2}}}+1\equiv 0\text{ }\bmod p\text{ }\vee \text{ }{{a}^{\frac{p-1}{2}}}-1\equiv 0\text{ }\bmod p \\ & \Leftrightarrow {{a}^{\frac{p-1}{2}}}\equiv \pm 1\text{ }\bmod p \\ \end{aligned}(a2p−1+1)(a2p−1−1)≡0 modp⇔a2p−1+1≡0 modp ∨ a2p−1−1≡0 modp⇔a2p−1≡±1 modp
因此只要证明了
x2≡amodp有解⇔ap−12≡1modp{{x}^{2}}\equiv a\text{ }\bmod p有解\Leftrightarrow {{a}^{\frac{p-1}{2}}}\equiv 1\text{ }\bmod px2≡a modp有解⇔a2p−1≡1 modp
那自然地就有
x2≡amodp无解⇔ap−12≡−1modp{{x}^{2}}\equiv a\text{ }\bmod p无解\text{ }\Leftrightarrow \text{ }{{a}^{\frac{p-1}{2}}}\equiv -1\text{ }\bmod px2≡a modp无解 ⇔ a2p−1≡−1 modp现证明x2≡amodp有解⇔ap−12≡1modp{{x}^{2}}\equiv a\text{ }\bmod p有解\Leftrightarrow {{a}^{\frac{p-1}{2}}}\equiv 1\text{ }\bmod px2≡a modp有解⇔a2p−1≡1 modp如下。
若x2≡amodp{{x}^{2}}\equiv a\text{ }\bmod px2≡a modp有解,设其解为x≡x0modpx\equiv {{x}_{0}}\text{ }\bmod px≡x0 modp,则有
x02≡amodp{{x}_{0}}^{2}\equiv a\text{ }\bmod px02≡a modp
又gcd(a,p)=1\gcd \left( a,p \right)=1gcd(a,p)=1,因此x02,a{{x}_{0}}^{2},\text{ }ax02, a来自于同一个与模ppp互素的剩余类,因此有
gcd(p,x02)=1⇒gcd(p,x0)=1\gcd \left( p,{{x}_{0}}^{2} \right)=1\text{ }\Rightarrow \text{ }\gcd \left( p,{{x}_{0}} \right)=1gcd(p,x02)=1 ⇒ gcd(p,x0)=1
因此由欧拉定理,有
x0φ(p)=x0p−1≡1modp{{x}_{0}}^{\varphi \left( p \right)}={{x}_{0}}^{p-1}\equiv 1\text{ }\bmod px0φ(p)=x0p−1≡1 modp
考虑ap−12modp{{a}^{\frac{p-1}{2}}}\text{ }\bmod pa2p−1 modp:
ap−12≡(x02)p−12=x0p−1≡1modp{{a}^{\frac{p-1}{2}}}\equiv {{\left( {{x}_{0}}^{2} \right)}^{\frac{p-1}{2}}}={{x}_{0}}^{p-1}\equiv 1\text{ }\bmod pa2p−1≡(x02)2p−1=x0p−1≡1 modp反过来,设ap−12≡1modp{{a}^{\frac{p-1}{2}}}\equiv 1\text{ }\bmod pa2p−1≡1 modp。
由于ppp是奇数,有p−1p-1p−1是偶数,p−12∈Z\frac{p-1}{2}\in \mathbb{Z}2p−1∈Z,因此对xp−1−1{{x}^{p-1}}-1xp−1−1有如下分解
xp−1−1=[(x2)p−12−ap−12]+(ap−12−1)=(x2−a)∑i=0p−12−1(x2)iap−12−1−i+(ap−12−1)=(x2−a)q(x)+(ap−12−1)\begin{aligned} & {{x}^{p-1}}-1=\left[ {{\left( {{x}^{2}} \right)}^{\frac{p-1}{2}}}-{{a}^{\frac{p-1}{2}}} \right]+\left( {{a}^{\frac{p-1}{2}}}-1 \right) \\ & =\left( {{x}^{2}}-a \right)\sum\limits_{i=0}^{\frac{p-1}{2}-1}{{{\left( {{x}^{2}} \right)}^{i}}{{a}^{\frac{p-1}{2}-1-i}}}+\left( {{a}^{\frac{p-1}{2}}}-1 \right) \\ & =\left( {{x}^{2}}-a \right)q\left( x \right)+\left( {{a}^{\frac{p-1}{2}}}-1 \right) \\ \end{aligned}xp−1−1=[(x2)2p−1−a2p−1]+(a2p−1−1)=(x2−a)i=0∑2p−1−1(x2)ia2p−1−1−i+(a2p−1−1)=(x2−a)q(x)+(a2p−1−1)
其中q(x)=∑i=0p−12−1(x2)iap−12−1−iq\left( x \right)=\sum\limits_{i=0}^{\frac{p-1}{2}-1}{{{\left( {{x}^{2}} \right)}^{i}}{{a}^{\frac{p-1}{2}-1-i}}}q(x)=i=0∑2p−1−1(x2)ia2p−1−1−i。
∀t∈{1,⋯,p−1}\forall t\in \left\{ 1,\cdots ,p-1 \right\}∀t∈{1,⋯,p−1},有gcd(t,p)=1\gcd \left( t,p \right)=1gcd(t,p)=1,由欧拉定理有
tφ(p)−1=tp−1−1≡0modp{{t}^{\varphi \left( p \right)}}-1={{t}^{p-1}}-1\equiv 0\text{ }\bmod ptφ(p)−1=tp−1−1≡0 modp
因此有
0≡tp−1−1=(t2−a)q(t)+(ap−12−1)≡(t2−a)q(t)≡0modp0\equiv {{t}^{p-1}}-1=\left( {{t}^{2}}-a \right)q\left( t \right)+\left( {{a}^{\frac{p-1}{2}}}-1 \right)\equiv \left( {{t}^{2}}-a \right)q\left( t \right)\equiv 0\text{ }\bmod p0≡tp−1−1=(t2−a)q(t)+(a2p−1−1)≡(t2−a)q(t)≡0 modp
即(x2−a)q(x)≡0modp\left( {{x}^{2}}-a \right)q\left( x \right)\equiv 0\text{ }\bmod p(x2−a)q(x)≡0 modp至少有p−1p-1p−1个解
x≡1,2,⋯,p−1modpx\equiv 1,2,\cdots ,p-1\text{ }\bmod px≡1,2,⋯,p−1 modp
ppp是素数,由域Z/p{\mathbb{Z}}/{p}\;Z/p的整环性质有
(x2−a)q(x)≡0modp⇔x2−a≡0modp∨q(x)≡0modp\left( {{x}^{2}}-a \right)q\left( x \right)\equiv 0\text{ }\bmod p\text{ }\Leftrightarrow \text{ }{{x}^{2}}-a\equiv 0\text{ }\bmod p\text{ }\vee \text{ }q\left( x \right)\equiv 0\text{ }\bmod p(x2−a)q(x)≡0 modp ⇔ x2−a≡0 modp ∨ q(x)≡0 modp
因此x2−a≡0modp{{x}^{2}}-a\equiv 0\text{ }\bmod px2−a≡0 modp的解数k1{{k}_{1}}k1和q(x)≡0modpq\left( x \right)\equiv 0\text{ }\bmod pq(x)≡0 modp的解数k2{{k}_{2}}k2之和
k1+k2≥p−1{{k}_{1}}+{{k}_{2}}\ge p-1k1+k2≥p−1
另一方面,
deg(q(x))=2×(p−12−1)=p−3⇒k2≤p−3deg(x2−a)=2⇒k1≤2\begin{aligned} & \deg \left( q\left( x \right) \right)=2\times \left( \frac{p-1}{2}-1 \right)=p-3\text{ }\Rightarrow \text{ }{{k}_{2}}\le p-3 \\ & \deg \left( {{x}^{2}}-a \right)=2\text{ }\Rightarrow \text{ }{{k}_{1}}\le 2 \\ \end{aligned}deg(q(x))=2×(2p−1−1)=p−3 ⇒ k2≤p−3deg(x2−a)=2 ⇒ k1≤2
{k1+k2≥p−1k2≤p−3⇒p−1−k1≤k2≤p−3⇒k1≥2k1≤2}⇒k1=2\left. \begin{matrix} \left\{ \begin{aligned} & {{k}_{1}}+{{k}_{2}}\ge p-1 \\ & {{k}_{2}}\le p-3 \\ \end{aligned} \right.\Rightarrow p-1-{{k}_{1}}\le {{k}_{2}}\le p-3\text{ }\Rightarrow \text{ }{{k}_{1}}\ge 2 \\ {{k}_{1}}\le 2 \\ \end{matrix} \right\}\text{ }\Rightarrow \text{ }{{k}_{1}}=2{k1+k2≥p−1k2≤p−3⇒p−1−k1≤k2≤p−3 ⇒ k1≥2k1≤2⎭⎪⎬⎪⎫ ⇒ k1=2
因此x2−a≡0modp{{x}^{2}}-a\equiv 0\text{ }\bmod px2−a≡0 modp有解且恰好有两解。
定理1:设ppp是一奇素数,则模ppp的非零平方剩余,平方非剩余各有p−12\frac{p-1}{2}2p−1个
定理等价表述
设ppp是奇素数,则模ppp的既约剩余系中平方剩余与平方非剩余的个数各为p−12\frac{p-1}{2}2p−1个。
证法一
ppp是奇数,p−12∈Z\frac{p-1}{2}\in \mathbb{Z}2p−1∈Z,xp−12±1{{x}^{\frac{p-1}{2}}}\pm 1x2p−1±1是p−12\frac{p-1}{2}2p−1次首一多项式。
模ppp的非零平方剩余个数就是同余式f(x)≡0modpf\left( x \right)\equiv 0\text{ }\bmod pf(x)≡0 modp的解的个数。
ppp是素数,因此同余式
f(x)=xp−12−1≡0modp⇔xp−12≡1modpf\left( x \right)={{x}^{\frac{p-1}{2}}}-1\equiv 0\text{ }\bmod p\text{ }\Leftrightarrow \text{ }{{x}^{\frac{p-1}{2}}}\equiv 1\text{ }\bmod pf(x)=x2p−1−1≡0 modp ⇔ x2p−1≡1 modp
的解的个数≤p−12\le \frac{p-1}{2}≤2p−1,即模ppp的非零平方剩余的个数≤p−12\le \frac{p-1}{2}≤2p−1。
同理,模ppp的平方非剩余个数就是同余式f(x)≡0modpf\left( x \right)\equiv 0\text{ }\bmod pf(x)≡0 modp的解的个数。
同余式
g(x)=xp−12+1≡0modp⇔xp−12≡−1modpg\left( x \right)={{x}^{\frac{p-1}{2}}}+1\equiv 0\text{ }\bmod p\text{ }\Leftrightarrow \text{ }{{x}^{\frac{p-1}{2}}}\equiv -1\text{ }\bmod pg(x)=x2p−1+1≡0 modp ⇔ x2p−1≡−1 modp
的解的个数≤p−12\le \frac{p-1}{2}≤2p−1,即模ppp的平方非剩余个数≤p−12\le \frac{p-1}{2}≤2p−1。
又非零平方剩余,平方非剩余共有∣{1,2,⋯,p−1}∣=p−1\left| \left\{ 1,2,\cdots ,p-1 \right\} \right|=p-1∣{1,2,⋯,p−1}∣=p−1个,于是只能各有p−12\frac{p-1}{2}2p−1个。
证法二
模ppp的非零平方剩余个数即同余式xp−12≡1modp⇔xp−12−1≡0modp{{x}^{\frac{p-1}{2}}}\equiv 1\text{ }\bmod p\text{ }\Leftrightarrow \text{ }{{x}^{\frac{p-1}{2}}}-1\equiv 0\text{ }\bmod px2p−1≡1 modp ⇔ x2p−1−1≡0 modp的解的个数,且其中整系数首一多项式xp−12−1{{x}^{\frac{p-1}{2}}}-1x2p−1−1的次数p−12<p\frac{p-1}{2}<p2p−1<p。又因为
xp−x=x(xp−1−1)=x[(xp−12)2−12]=x(xp−12−1)(xp−12+1){{x}^{p}}-x=x\left( {{x}^{p-1}}-1 \right)=x\left[ {{\left( {{x}^{\frac{p-1}{2}}} \right)}^{2}}-{{1}^{2}} \right]=x\left( {{x}^{\frac{p-1}{2}}}-1 \right)\left( {{x}^{\frac{p-1}{2}}}+1 \right)xp−x=x(xp−1−1)=x[(x2p−1)2−12]=x(x2p−1−1)(x2p−1+1)
因此有(xp−12−1)∣(xp−x)\left. \left( {{x}^{\frac{p-1}{2}}}-1 \right) \right|\left( {{x}^{p}}-x \right)(x2p−1−1)∣∣∣(xp−x),即xp−12−1{{x}^{\frac{p-1}{2}}}-1x2p−1−1除xp−x{{x}^{p}}-xxp−x所得的余式r(x)=0r\left( x \right)=0r(x)=0,自然各项系数都是ppp的倍数。由博文《素数模同余式次数与其解数的关系》中的定理6,同余式
xp−12≡1modp{{x}^{\frac{p-1}{2}}}\equiv 1\text{ }\bmod px2p−1≡1 modp
恰好有p−12\frac{p-1}{2}2p−1个解,即模ppp的非零平方剩余个数为p−12\frac{p-1}{2}2p−1。
所以模ppp的平方非剩余个数为(p−1)−p−12=p−12\left( p-1 \right)-\frac{p-1}{2}=\frac{p-1}{2}(p−1)−2p−1=2p−1。
定理2:ppp是一奇素数,02,12,⋯,(p−12)2modp{{0}^{2}},\text{ }{{1}^{2}},\text{ }\cdots ,\text{ }{{\left( \frac{p-1}{2} \right)}^{2}}\text{ }\bmod p02, 12, ⋯, (2p−1)2 modp是模ppp的全部平方剩余。
证明
ppp是奇数,因此p−12∈Z\frac{p-1}{2}\in \mathbb{Z}2p−1∈Z。
首先,显然地,∀t∈{0,1,⋯,p−12}\forall t\in \left\{ 0,1,\cdots ,\frac{p-1}{2} \right\}∀t∈{0,1,⋯,2p−1},同余式
x2≡t2modp{{x}^{2}}\equiv {{t}^{2}}\text{ }\bmod px2≡t2 modp
有解x≡±tmodpx\equiv \pm t\text{ }\bmod px≡±t modp,因此02,12,⋯,(p−12)2{{0}^{2}},{{1}^{2}},\cdots ,{{\left( \frac{p-1}{2} \right)}^{2}}02,12,⋯,(2p−1)2都是模ppp的平方剩余。
其次,对于12,22,⋯,(p−12)2{{1}^{2}},{{2}^{2}},\cdots ,{{\left( \frac{p-1}{2} \right)}^{2}}12,22,⋯,(2p−1)2,只需要证明它们两两模ppp不同余,那么这p−12\frac{p-1}{2}2p−1个模ppp的非零平方剩余就是模ppp的全部非零平方剩余。
设1≤k<l≤p−121\le k<l\le \frac{p-1}{2}1≤k<l≤2p−1。
若k≡lmodpk\equiv l\text{ }\bmod pk≡l modp,则p∣(l−k)\left. p \right|\left( l-k \right)p∣(l−k),但是0<l−k<p−120<l-k<\frac{p-1}{2}0<l−k<2p−1,矛盾。
若k≡−lmodpk\equiv -l\text{ }\bmod pk≡−l modp,则p∣(k+l)\left. p \right|\left( k+l \right)p∣(k+l),但是2<k+l<p−12<k+l<p-12<k+l<p−1,矛盾。
于是有
k≡lmodp⇒k−l≡0modpk≡−lmodp⇒k+l≡0modp\begin{aligned} & k\cancel{\equiv }l\text{ }\bmod p\text{ }\Rightarrow \text{ }k-l\cancel{\equiv }0\text{ }\bmod p \\ & k\cancel{\equiv }-l\bmod p\Rightarrow k+l\cancel{\equiv }0\text{ }\bmod p \\ \end{aligned}k≡l modp ⇒ k−l≡0 modpk≡−lmodp⇒k+l≡0 modp
ppp是素数,由域Z/p{\mathbb{Z}}/{p}\;Z/p的整环性质有
(k−l)(k+l)≡0modp⇔k2−l2≡0modp⇔k2≡l2modp\begin{aligned} & \left( k-l \right)\left( k+l \right)\cancel{\equiv }0\text{ }\bmod p \\ & \Leftrightarrow {{k}^{2}}-{{l}^{2}}\cancel{\equiv }0\text{ }\bmod p \\ & \Leftrightarrow {{k}^{2}}\cancel{\equiv }{{l}^{2}}\text{ }\bmod p \\ \end{aligned}(k−l)(k+l)≡0 modp⇔k2−l2≡0 modp⇔k2≡l2 modp
因此12,22,⋯,(p−12)2{{1}^{2}},{{2}^{2}},\cdots ,{{\left( \frac{p-1}{2} \right)}^{2}}12,22,⋯,(2p−1)2两两不同余,是模ppp的全部非零平方剩余。
因此02,12,⋯,(p−12)2{{0}^{2}},{{1}^{2}},\cdots ,{{\left( \frac{p-1}{2} \right)}^{2}}02,12,⋯,(2p−1)2是模ppp的全部平方剩余。
推论:模ppp的p−12\frac{p-1}{2}2p−1个非零平方剩余分别与序列12,22,⋯,(p−12)2{{1}^{2}},{{2}^{2}},\cdots ,{{\left( \frac{p-1}{2} \right)}^{2}}12,22,⋯,(2p−1)2中的一数同余,且仅与一数同余。
练习
求模777的平方剩余,平方非剩余。
法一
777是奇素数,可使用Euler判别法。7−12=3\frac{7-1}{2}=327−1=3。
xmod7−3−2−10123x3mod7−27≡1−8≡−1−1018≡128≡−1\begin{matrix} x\text{ mod7} & -3 & -2 & -1 & 0 & 1 & 2 & 3 \\ {{x}^{3}}\text{ mod7} & -27\equiv 1 & -8\equiv -1 & -1 & 0 & 1 & 8\equiv 1 & 28\equiv -1 \\ \end{matrix}x mod7x3 mod7−3−27≡1−2−8≡−1−1−1001128≡1328≡−1
因此模777的平方剩余xxx为x≡−3,0,1,2mod7x\equiv -3,0,1,2\text{ }\bmod 7x≡−3,0,1,2 mod7,平方非剩余yyy为y≡−2,−1,3mod7y\equiv -2,-1,3\text{ }\bmod 7y≡−2,−1,3 mod7。法二
777是一个奇素数,7−12=3\frac{7-1}{2}=327−1=3,由定理2,
A:={02,12,22,32mod7}={0,1,2,4}A:=\left\{ {{0}^{2}},{{1}^{2}},{{2}^{2}},{{3}^{2}}\text{ }\bmod 7 \right\}=\left\{ 0,1,2,4 \right\}A:={02,12,22,32 mod7}={0,1,2,4}
里的元素是模777的平方剩余。
{0,1,2,3,4,5,6}\A={3,5,6}:=B\left\{ 0,1,2,3,4,5,6 \right\}\backslash A=\left\{ 3,5,6 \right\}:=B{0,1,2,3,4,5,6}\A={3,5,6}:=B
BBB里的元素是模777的平方非剩余。
因此模777的全部平方剩余为
x≡amod7,a∈Ax\equiv a\text{ }\bmod 7,\text{ }a\in Ax≡a mod7, a∈A
模777的全部平方非剩余为
x≡bmod7,b∈Bx\equiv b\text{ }\bmod 7,\text{ }b\in Bx≡b mod7, b∈B
求模232323的平方剩余和平方非剩余。
解
ppp是一个奇素数,求模ppp的平方剩余,当ppp比较大时,使用Euler判别法比较麻烦,因为涉及求
ap−12modp,a∈{−p−12,−p−32,⋯,0,⋯,p−32,p−12}{{a}^{\frac{p-1}{2}}}\text{ }\bmod p,\text{ }a\in \left\{ -\frac{p-1}{2},-\frac{p-3}{2},\cdots ,0,\cdots ,\frac{p-3}{2},\frac{p-1}{2} \right\}a2p−1 modp, a∈{−2p−1,−2p−3,⋯,0,⋯,2p−3,2p−1}
计算量较大。在这里我们使用定理2求解。232323是一个奇素数,23−12=11\frac{23-1}{2}=11223−1=11。因此02,12,⋯,112{{0}^{2}},{{1}^{2}},\cdots ,{{11}^{2}}02,12,⋯,112是模232323的平方剩余。有下表
xmod23012345x2mod2301491625≡2xmod2367891011x2mod2336≡1349≡364≡1881≡12100≡8121≡6\begin{aligned} & \begin{matrix} x\text{ mod23} & 0 & 1 & 2 & 3 & 4 & 5 \\ {{x}^{2}}\text{ mod23} & 0 & 1 & 4 & 9 & 16 & 25\equiv 2 \\ \end{matrix} \\ & \\ & \begin{matrix} x\text{ }\bmod 23 & 6 & 7 & 8 & 9 & 10 & 11 \\ {{x}^{2}}\text{ }\bmod 23 & 36\equiv 13 & 49\equiv 3 & 64\equiv 18 & 81\equiv 12 & 100\equiv 8 & 121\equiv 6 \\ \end{matrix} \\ \end{aligned}x mod23x2 mod2300112439416525≡2x mod23x2 mod23636≡13749≡3864≡18981≡1210100≡811121≡6
令A={0,1,2,3,4,6,8,9,12,13,16,18}A=\left\{ 0,1,2,3,4,6,8,9,12,13,16,18 \right\}A={0,1,2,3,4,6,8,9,12,13,16,18}AAA中的元素都是模232323的平方剩余。
{0,1,⋯,22}\A={5,7,10,11,14,15,17,19,20,21,22}:=B\left\{ 0,1,\cdots ,22 \right\}\backslash A=\left\{ 5,7,10,11,14,15,17,19,20,21,22 \right\}:=B{0,1,⋯,22}\A={5,7,10,11,14,15,17,19,20,21,22}:=B
BBB中的元素都是模232323的平方非剩余。
因此模232323的全部平方剩余为
x≡amod23,a∈Ax\equiv a\text{ }\bmod 23,\text{ }a\in Ax≡a mod23, a∈A
模23的全部平方非剩余为
x≡bmod23,b∈Bx\equiv b\text{ }\bmod 23,\text{ }b\in Bx≡b mod23, b∈B求出模373737的平方剩余和平方非剩余。
解
373737是奇素数,37−12=18\frac{37-1}{2}=18237−1=18。因此02,12,⋯,182{{0}^{2}},{{1}^{2}},\cdots ,{{18}^{2}}02,12,⋯,182是模37的平方剩余。
xmod370123456x2mod370149162536xmod37789101112x2mod3749≡1264≡2781≡7100≡26121≡10144≡33xmod37131415161718x2mod37169≡21196≡11225≡3256≡34289≡30324≡28\begin{aligned} & \begin{matrix} x\text{ }\bmod 37 & 0 & 1 & 2 & 3 & 4 & 5 & 6 \\ {{x}^{2}}\text{ }\bmod 37 & 0 & 1 & 4 & 9 & 16 & 25 & 36 \\ \end{matrix} \\ & \\ & \begin{matrix} x\text{ }\bmod 37 & 7 & 8 & 9 & 10 & 11 & 12 \\ {{x}^{2}}\text{ }\bmod 37 & 49\equiv 12 & 64\equiv 27 & 81\equiv 7 & 100\equiv 26 & 121\equiv 10 & 144\equiv 33 \\ \end{matrix} \\ & \\ & \begin{matrix} x\text{ }\bmod 37 & 13 & 14 & 15 & 16 & 17 & 18 \\ {{x}^{2}}\text{ }\bmod 37 & 169\equiv 21 & 196\equiv 11 & 225\equiv 3 & 256\equiv 34 & 289\equiv 30 & 324\equiv 28 \\ \end{matrix} \\ \end{aligned}x mod37x2 mod3700112439416525636x mod37x2 mod37749≡12864≡27981≡710100≡2611121≡1012144≡33x mod37x2 mod3713169≡2114196≡1115225≡316256≡3417289≡3018324≡28
令
A={0,1,3,4,7,9,10,11,12,16,21,25,26,27,28,30,33,34,36}A=\left\{ 0,1,3,4,7,9,10,11,12,16,21,25,26,27,28,30,33,34,36 \right\}A={0,1,3,4,7,9,10,11,12,16,21,25,26,27,28,30,33,34,36}
AAA中的元素都是模373737的平方剩余。
{0,1,⋯,36}\A={2,5,6,8,13,14,15,17,18,19,20,22,23,24,29,31,32,35}:=B\begin{aligned} & \left\{ 0,1,\cdots ,36 \right\}\backslash A \\ & =\left\{ 2,5,6,8,13,14,15,17,18,19,20,22,23,24,29,31,32,35 \right\} \\ & :=B \\ \end{aligned}{0,1,⋯,36}\A={2,5,6,8,13,14,15,17,18,19,20,22,23,24,29,31,32,35}:=B
BBB中的元素都是模373737的平方非剩余。
因此模37的全部平方剩余为
x≡amod37,a∈Ax\equiv a\text{ }\bmod 37,\text{ }a\in Ax≡a mod37, a∈A
模373737的全部平方非剩余为
x≡bmod37,b∈Bx\equiv b\text{ }\bmod 37,\text{ }b\in Bx≡b mod37, b∈B
ax²+bx+c≡0 mod m 和 x²≡a mod p的解存在性分析相关推荐
- 【C语言】求一元二次方程ax²+bx+c=0 (b²-4ac>0即有实根)
求一元二次方程ax²+bx+c=0的解: 分析: 1.一元二次方程求解 2.求根公式 代码实现: # include <stdio.h> # include <math.h>i ...
- C语言程序-求一元二次方程ax²+bx+c=0的实根解(设a≠0)
一.问题描述 求一元二次方程ax²+bx+c=0的实根解(设a≠0) 二.算法设计 算法的具体步骤如下: ① 输入a.b.c: ② 计算判别式d=b*b-4*a*c: ③ 若d≥0,则求实根x₁,x₂ ...
- python教程7--python解二元一次方程ax²+bx+c=0
1.先回忆一下ax2+bx+c=0这个一元二次方程的数学解法 2.python实现 在我们知道求根公式后,我们用python来实现一下: def my_quadratic(a,b,c):if not ...
- 求ax bx c 0的根c语言,关于求方程ax2+bx+c=0根的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include #include"resource.h" BOOL CALLB ...
- C语言:求ax²+bx+c=0方程的解
1.判断是不是二次方程,(a=0,不是二次方程) 2.判断实根数,b²-4ac=0,两个相等实根: b²-4ac>0,两个不等实根: b²-4ac<0,没有实根: #include < ...
- c语言ax2十bx十c 0求根,ax2+bx+c=0的求根公式
求根公式:x=[-b±√(b²-4ac)]/2a.只含有一个未知数(一元),并且未知数项的最高次数是2(二次)的整式方程叫做一元二次方程.一元二次方程经过整理都可化成一般形式ax²+bx+c=0(a≠ ...
- 求方程ax^2+bx+c=0的实数根
求方程ax^2+bx+c=0的实数根,考虑a=0的情况 #include <stdio.h> #include <math.h> int main() {double a,b, ...
- Problem E: 求方程ax^2+bx+c=0的实数根
Problem Description 编写程序,求方程ax^2+bx+c=0的实数根(a!=0). Input Description 在一行中输入三个整数a, b, c,以空格分隔. Output ...
- python解一元二次方程ax^2+bx_python 练习题:定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程ax^2+bx+c=0的两个解...
请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程 ax^2+bx+c=0的两个解. 提示: 一元二次方程的求根公式为: x1 = (-b + math.sqrt((b ...
最新文章
- 【c语言】蓝桥杯算法训练 sign函数
- 用单片机测量流体流速的_曹阳等:钻井用节流阀抗冲蚀性能的实验评价
- UML之交互图(协作图和顺序图)
- 安装完matlab7.0(2009版本问题)但无法运行
- HAProxy实现负载均衡及高可用集群(corosync+pacemaker)
- python自动写作软件_开发了一款写作软件(OSX,Windows),附带Electron开发指南
- 作者:李雪梅(1984-),女,烟台中科网络技术研究所研发工程师。
- python函数和方法概念_python基础学习——函数和方法的区别与联系
- 【Go语言】【13】再谈GO语言的结构体
- Node组件——Express简介
- 批量生成一组不同随机字符串
- 如何复制百度文档中的内容
- 一个简单的小程序demo
- 半正定矩阵和正定矩阵的一些理解和补充
- DP算法(Dynamic Programming,俗称动态规划)是最经典算法之一
- Java基础 - 替罪羊树(Scapegoat Tree)
- 什么是EDM?EDM营销是什么?
- c语言利用二维数组制作地图,用程序实现RPG背景地图二维数组构建
- 前端歌谣的刷题之路-第一百四十五题-双列布局-flex
- 恩施城中心商铺7万起