索引

  • 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的解存在性分析

  1. 对mmm进行素因子分解得到
    m=p1e1⋯pnenm={{p}_{1}}^{{{e}_{1}}}\cdots {{p}_{n}}^{{{e}_{n}}}m=p1​e1​⋯pn​en​
    则原同余式等价于下面的同余式组
    {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 modp1​e1​⋮ax2+bx+c≡0 modpn​en​​
    故我们只需要讨论以素数模为模的同余式
    ax2+bx+c≡0modpea{{x}^{2}}+bx+c\equiv 0\text{ }\bmod {{p}^{e}}ax2+bx+c≡0 modpe

  2. 欲求解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

  3. 下面基于ppp与a,b,ca,b,ca,b,c的关系进行分类讨论。

    1. 若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都是同余式的解。
    2. 若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,故同余式无解。
    3. 若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)。
    4. 若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)=1​gcd(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肯定也是有解的。
    5. 若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​

证明

  1. 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

  2. 现证明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如下。

    1. 若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 px0​2≡a modp
      又gcd⁡(a,p)=1\gcd \left( a,p \right)=1gcd(a,p)=1,因此x02,a{{x}_{0}}^{2},\text{ }ax0​2, 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,x0​2)=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)=x0​p−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​≡(x0​2)2p−1​=x0​p−1≡1 modp

    2. 反过来,设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中的一数同余,且仅与一数同余。

练习

  1. 求模777的平方剩余,平方非剩余。

    1. 法一
      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−1​00​11​28≡1​328≡−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。

    2. 法二
      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

  2. 求模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 mod23​00​11​24​39​416​525≡2​x mod23x2 mod23​636≡13​749≡3​864≡18​981≡12​10100≡8​11121≡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

  3. 求出模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 mod37​00​11​24​39​416​525​636​x mod37x2 mod37​749≡12​864≡27​981≡7​10100≡26​11121≡10​12144≡33​x mod37x2 mod37​13169≡21​14196≡11​15225≡3​16256≡34​17289≡30​18324≡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的解存在性分析相关推荐

  1. 【C语言】求一元二次方程ax²+bx+c=0 (b²-4ac>0即有实根)

    求一元二次方程ax²+bx+c=0的解: 分析: 1.一元二次方程求解 2.求根公式 代码实现: # include <stdio.h> # include <math.h>i ...

  2. 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₂ ...

  3. python教程7--python解二元一次方程ax²+bx+c=0

    1.先回忆一下ax2+bx+c=0这个一元二次方程的数学解法 2.python实现 在我们知道求根公式后,我们用python来实现一下: def my_quadratic(a,b,c):if not ...

  4. 求ax bx c 0的根c语言,关于求方程ax2+bx+c=0根的问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include #include"resource.h" BOOL CALLB ...

  5. C语言:求ax²+bx+c=0方程的解

    1.判断是不是二次方程,(a=0,不是二次方程) 2.判断实根数,b²-4ac=0,两个相等实根: b²-4ac>0,两个不等实根: b²-4ac<0,没有实根: #include < ...

  6. c语言ax2十bx十c 0求根,ax2+bx+c=0的求根公式

    求根公式:x=[-b±√(b²-4ac)]/2a.只含有一个未知数(一元),并且未知数项的最高次数是2(二次)的整式方程叫做一元二次方程.一元二次方程经过整理都可化成一般形式ax²+bx+c=0(a≠ ...

  7. 求方程ax^2+bx+c=0的实数根

    求方程ax^2+bx+c=0的实数根,考虑a=0的情况 #include <stdio.h> #include <math.h> int main() {double a,b, ...

  8. Problem E: 求方程ax^2+bx+c=0的实数根

    Problem Description 编写程序,求方程ax^2+bx+c=0的实数根(a!=0). Input Description 在一行中输入三个整数a, b, c,以空格分隔. Output ...

  9. 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 ...

最新文章

  1. 【c语言】蓝桥杯算法训练 sign函数
  2. 用单片机测量流体流速的_曹阳等:钻井用节流阀抗冲蚀性能的实验评价
  3. UML之交互图(协作图和顺序图)
  4. 安装完matlab7.0(2009版本问题)但无法运行
  5. HAProxy实现负载均衡及高可用集群(corosync+pacemaker)
  6. python自动写作软件_开发了一款写作软件(OSX,Windows),附带Electron开发指南
  7. 作者:李雪梅(1984-),女,烟台中科网络技术研究所研发工程师。
  8. python函数和方法概念_python基础学习——函数和方法的区别与联系
  9. 【Go语言】【13】再谈GO语言的结构体
  10. Node组件——Express简介
  11. 批量生成一组不同随机字符串
  12. 如何复制百度文档中的内容
  13. 一个简单的小程序demo
  14. 半正定矩阵和正定矩阵的一些理解和补充
  15. DP算法(Dynamic Programming,俗称动态规划)是最经典算法之一
  16. Java基础 - 替罪羊树(Scapegoat Tree)
  17. 什么是EDM?EDM营销是什么?
  18. c语言利用二维数组制作地图,用程序实现RPG背景地图二维数组构建
  19. 前端歌谣的刷题之路-第一百四十五题-双列布局-flex
  20. 恩施城中心商铺7万起

热门文章

  1. C语言coord笔记
  2. java 编程动感相册_抖音3D立体动态相册实现代码下载
  3. 《论文阅读》RoBERTa: A Robustly Optimized BERT Pretraining Approach
  4. optimized out参考解决方法
  5. vue中写video中的视频播放按钮没有反映
  6. 天下布魔哪些低星角色值得练?高性价比辅助力强低星卡推荐
  7. 怎么批量打印CAD图纸?打印需要注意哪些问题。
  8. CSS实现父元素半透明,子元素不透明的问题
  9. js判断浏览器是否是谷歌浏览器
  10. 金融分析与风险管理——投资组合的有效前沿及资本市场线