{{위키데이터 속성 추적}}
[[수론]]에서 '''이차 상호 법칙'''(二次相互法則, {{llang|en|law of quadratic reciprocity}})은 두 홀수 소수가 서로에 대하여 [[제곱잉여]]인지 여부가 대칭적이라는 정리다.

== 정의 ==
'''이차 상호 법칙'''에 따르면, <math>p</math>와 <math>q</math>가 서로 다른 [[홀수]] [[소수 (수론)|소수]]일 때, 이차 [[합동식]]
:<math>\begin{cases}x^2 \equiv p \pmod q \\ y^2 \equiv q \pmod p \end{cases}</math>
에 대하여 다음 두 경우가 성립한다.
* 만약 <math>p\equiv q\equiv3\pmod4</math>라면 두 [[합동식]] 가운데 하나는 해가 존재하고, 다른 하나는 해가 존재하지 않는다.
* 그밖의 경우 둘 다 해가 존재하든지 둘 다 해가 존재하지 않는다.

서로 다른 두 홀수 소수 <math>p</math>와 <math>q</math>에 대하여 [[르장드르 기호]] <math>\left(\frac{p}{q}\right)</math>는 <math>p</math>가 <math>q</math>에 대한 [[제곱잉여]]일 때 <math>1</math>, 그렇지 않을 때 <math>-1</math>로 정의된다.

[[르장드르 기호]]를 이용하면, '''이차 상호 법칙'''을 다음과 같이 간단히 나타낼 수 있다.
:<math>\left(\frac pq\right) \left(\frac qp\right) = (-1)^{(p-1)(q-1)/4}</math>
우변은 <math>p</math>와 <math>q</math>를 4로 나눈 나머지가 둘 다 3일 때만 <math>-1</math>이 된다.

위의 등식은 [[야코비 기호]]로 확장할 수 있다. 1이 아닌 두 홀수 <math>m</math>과 <math>n</math>이 [[서로소 정수|서로소]]일 때,
:<math>\left(\frac{m}{n}\right) \left(\frac{n}{m}\right) = (-1)^{(m-1)(n-1)/4}</math>
이 성립한다.

또한, <math>p>2</math>가 [[소수 (수론)|소수]]라면 다음 두 법칙이 성립한다.
:<math>\left(\frac{-1}p\right)=(-1)^{(p-1)/2}</math>
:<math>\left(\frac2p\right)=(-1)^{(p^2-1)/8}</math>
이를 각각 '''이차 상호 법칙의 제1 보충'''(二次相互法則의第一補充, {{llang|en|first supplement to quadratic reciprocity}})과 '''이차 상호 법칙의 제2 보충'''(二次相互法則의第二補充,{{llang|en|second supplement to quadratic reciprocity}})이라고 한다.

=== 가우스 정수의 이차 상호 법칙 ===
[[가우스 정수]]의 경우, 다음과 같은 형태의 이차 상호 법칙이 성립한다.
<math>p\in\mathbb Z[i]</math>가 2가 아닌 [[가우스 소수]]이며, <math>k\in\mathbb Z[i]</math>가 <math>p</math>의 배수가 아닌 [[가우스 정수]]라고 하자. 그렇다면 [[르장드르 기호]]와 유사하게 다음 기호를 정의하자.
:<math>\left[\frac kp\right]_2=\begin{cases}+1&p\nmid k\land \exists n\in\mathbb Z[i]\colon n^2\equiv k\pmod p\\
-1 &p\nmid k\land \nexists n\in\mathbb Z[i]\colon n^2\equiv k\pmod p \\
0&p\mid k
\end{cases}
</math>
그렇다면 다음이 성립한다.
:<math>\left[\frac kp\right]_2\equiv k^{(N_{\mathbb Q[i]/\mathbb Q}(p) - 1)/2}\pmod p</math>
여기서
:<math>N_{\mathbb Q[i]/\mathbb Q}\colon a+bi\mapsto a^2+b^2</math>
는 가우스 정수의 [[체 노름]]이다.

서로 다른 두 [[가우스 소수]] <math>p,q\in\mathbb Z[i]</math>에 대하여,
:<math>\operatorname{Re} p\equiv\operatorname{Re}q\equiv1\pmod2</math>
:<math>\operatorname{Im} p\equiv\operatorname{Im} q\equiv0\pmod2</math>
라고 하자. 그렇다면 다음이 성립한다.
:<math>\left[\frac pq\right]_2 = \left[\frac qp\right]_2</math>
또한, <math>i</math> 및 <math>1+i</math>에 대하여 다음이 성립한다.
:<math>\left[\frac{i}{p}\right]_2 =(-1)^{\operatorname{Im} p/2}</math>
:<math>\left[\frac{1+i}p\right]_2 =\Bigg(\frac{2}{\operatorname{Re}p+\operatorname{Im}p}\Bigg)</math>

=== 아이젠슈타인 정수의 이차 상호 법칙 ===
[[아이젠슈타인 정수]]의 경우, 다음과 같은 형태의 이차 상호 법칙이 성립한다.
<math>p\in\mathbb Z[\omega]</math>가 아이젠슈타인 소수이며, <math>N(p)\ne3</math>이라고 하자. 또한, <math>k\in\mathbb Z[\omega]</math>가 <math>p</math>의 배수가 아닌 [[아이젠슈타인 정수]]라고 하자. 그렇다면 [[르장드르 기호]]와 유사하게 다음 기호를 정의하자.
:<math>\left[\frac kp\right]_2=\begin{cases}+1&\exists n\in\mathbb Z[\omega]\colon n^2\equiv k\pmod p\\
-1 &\nexists n\in\mathbb Z[\omega]\colon n^2\equiv k\pmod p
\end{cases}
</math>
그렇다면 다음이 성립한다.
:<math>\left[\frac kp\right]_2\equiv k^{(N(p) - 1)/2}\pmod p</math>
여기서
:<math>N\colon a+b\omega\mapsto a^2-ab+b^2=(a+b\omega)(a+b\bar\omega)</math>
는 아이젠슈타인 정수의 [[체 노름]]이다.

서로 다른 두 아이젠슈타인 소수 <math>p,q\in\mathbb Z[\omega]</math>가
:<math>p=a+b\omega\qquad(3\nmid a,\;3\mid b)</math>
:<math>q=c+d\omega\qquad(3\nmid c,\;3\mid d)</math>
의 꼴이라고 하자. 그렇다면 다음이 성립한다.
:<math>\left[\frac pq\right]_2 \left[\frac qp\right]_2=(-1)^{(N(p)-1)(N(q)-1)/4)}</math>
또한, 다음이 성립한다.
:<math>\left[\frac{1-\omega}{p}\right]_2 =\left(\frac a3\right)</math>
:<math>\left[\frac2p\right]_2 =\left(\frac{2}{N(p)}\right)</math>

== 역사 ==
[[파일:Disquisitiones-Arithmeticae-p133.jpg|섬네일|오른쪽|이차 상호 법칙을 다루고 있는 《산술 연구》의 쪽]]
[[레온하르트 오일러]]와 [[아드리앵마리 르장드르]]는 이차 상호 법칙을 추측하였으나 증명하지 못했다. [[카를 프리드리히 가우스]]가 《산술 연구》({{llang|la|Disquisitiones arithmeticae|디스퀴시티오네스 아리트메티카이}})에서 최초로 이차 상호 법칙을 증명하였다. 가우스는 이차 상호 법칙을 "기본 정리"({{llang|la|Theorema fundamentale|테오레마 푼다멘탈레}})라고 불렀고, 이에 대하여 다음과 같이 적었다.
{{인용문2|이 종류의 정리들 가운데 가장 우아한 정리인 기본 정리는 나 이전의 그 누구도 이렇게 간단한 형태로 서술하지 못하였다.<br>{{lang|la|Theorema fundamentale, quod sane inter elegantissima in hoc genere est referendum, in eadem forma simplici, in qua supra propositum est, a nemine hucusque fuit prolatum.}}|{{서적 인용|장url=http://gdz.sub.uni-goettingen.de/dms/load/img/?PPN=PPN235993352&DMDID=DMDLOG_0009&LOGID=LOG_0009&PHYSID=PHYS_0122|제목=Disquisitiones arithmeticae|장=151. De aliorum laboribus circa has investigationes}}}}
가우스는 평생에 걸쳐 이차 상호 법칙의 8가지 다른 증명을 제시하였다.<ref name="LemmermeyerWeb"/>

가우스 이후, 현재까지 발표된 이차 상호 법칙의 증명들은 200여 개에 이르며, 최근까지도 꾸준히 새로운 증명들이 발표되고 있다.<ref name="LemmermeyerWeb">{{웹 인용|url=http://www.rzuser.uni-heidelberg.de/~hb3/fchrono.html|제목=Proofs of the Quadratic Reciprocity Law|이름=Franz|성=Lemmermeyer|언어=en}}</ref>

== 예 ==
두 홀수 소수들 사이의 제곱 잉여 여부를 표로 나타내면 다음과 같다. 이차 상호 법칙에 따라, 표가 대각선을 중심으로 대칭이거나 반대칭임을 알 수 있다.
{|  class="wikitable" style="text-align:center; border:3px solid black;"
|+ 범례
|-
|width="25" style="background:#98ff98;" |'''R'''
| align="left" | ''q''는 [[제곱잉여]] (mod ''p'')
|rowspan="2" | &nbsp;&nbsp;&nbsp;''q'' ≡ 1 (mod 4) 또는 ''p'' ≡ 1 (mod 4) &nbsp;
|-
|width="25" style="background:#ADD8E6;" |'''N''' || align="left" | ''q''는 제곱잉여가 아님 (mod ''p'') &nbsp;
|-
|width="25" style="background:#FFCC99;" |'''R'''
| align="left" | ''q''는 [[제곱잉여]] (mod ''p'')
| rowspan="2" |  ''q'' ≡ ''p'' ≡ 3 (mod 4)
|-
|width="25" style="background:#FBEC5D;" |'''N''' || align="left" | ''q''는 제곱잉여가 아님 (mod ''p'') &nbsp;
|}
{|  class="wikitable" style="text-align:center; border:3px solid black;"
|-
| colspan="2" rowspan="2" |
! colspan="24" | ''q''
|-

!width="25" | 3
!width="25" | 5
!width="25" | 7
!width="25" |11
!width="25" |13
!width="25" |17
!width="25" |19
!width="25" |23
!width="25" |29
!width="25" |31
!width="25" |37
!width="25" |41
!width="25" |43
!width="25" |47
!width="25" |53
!width="25" |59
!width="25" |61
!width="25" |67
!width="25" |71
!width="25" |73
!width="25" |79
!width="25" |83
!width="25" |89
!width="25" |97
|- 
!rowspan="24" width="25" | ''p''

! width="25" | 3

!&nbsp; <!--  3 -->
|style="background:#ADD8E6;" |'''N''' <!--  5 -->
|style="background:#FFCC99;" |'''R''' <!--  7 -->
|style="background:#FBEC5D;" |'''N''' <!-- 11 -->
|style="background:#98ff98;" |'''R'''<!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#FFCC99;" |'''R'''<!-- 19 -->
|style="background:#FBEC5D;" |'''N'''<!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
|style="background:#FFCC99;" |'''R'''<!-- 31 -->
|style="background:#98ff98;" |'''R''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N'''<!-- 41 -->
|style="background:#FFCC99;" |'''R'''<!-- 43 -->
|style="background:#FBEC5D;" |'''N''' <!-- 47 -->
|style="background:#ADD8E6;" |'''N'''<!-- 53 -->
|style="background:#FBEC5D;" |'''N''' <!-- 59 -->
|style="background:#98ff98;" |'''R''' <!-- 61 -->
|style="background:#FFCC99;" |'''R''' <!-- 67 -->
|style="background:#FBEC5D;" |'''N''' <!-- 71 -->
|style="background:#98ff98;" |'''R''' <!-- 73 -->
|style="background:#FFCC99;" |'''R''' <!-- 79 -->
|style="background:#FBEC5D;" |'''N''' <!-- 83 -->
|style="background:#ADD8E6;" |'''N'''<!-- 89 -->
|style="background:#98ff98;" |'''R'''<!-- 97 -->
|-

! 5
|style="background:#ADD8E6;" |'''N''' <!--  3 -->
!&nbsp; <!--  5 -->
|style="background:#ADD8E6;" |'''N''' <!--  7 -->
|style="background:#98ff98;" |'''R''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#98ff98;" |'''R''' <!-- 19 -->
|style="background:#ADD8E6;" |'''N'''<!-- 23 -->
|style="background:#98ff98;" |'''R'''<!-- 29 -->
|style="background:#98ff98;" |'''R'''<!-- 31 -->
|style="background:#ADD8E6;" |'''N''' <!-- 37 -->
|style="background:#98ff98;" |'''R'''<!-- 41 -->
|style="background:#ADD8E6;" |'''N''' <!-- 43 -->
|style="background:#ADD8E6;" |'''N''' <!-- 47 -->
|style="background:#ADD8E6;" |'''N''' <!-- 53 -->
|style="background:#98ff98;" |'''R''' <!-- 59 -->
|style="background:#98ff98;" |'''R''' <!-- 61 -->
|style="background:#ADD8E6;" |'''N''' <!-- 67 -->
|style="background:#98ff98;" |'''R''' <!-- 71 -->
|style="background:#ADD8E6;" |'''N''' <!-- 73 -->
|style="background:#98ff98;" |'''R''' <!-- 79 -->
|style="background:#ADD8E6;" |'''N''' <!-- 83 -->
|style="background:#98ff98;" |'''R''' <!-- 89 -->
|style="background:#ADD8E6;" |'''N''' <!-- 97 -->
|-

!7
|style="background:#FBEC5D;" |'''N''' <!--  3 -->
|style="background:#ADD8E6;" |'''N''' <!--  5 -->
!&nbsp; <!--  7 -->
|style="background:#FFCC99;" |'''R''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#FBEC5D;" |'''N''' <!-- 19 -->
|style="background:#FFCC99;" |'''R''' <!-- 23 -->
|style="background:#98ff98;" |'''R''' <!-- 29 -->
|style="background:#FBEC5D;" |'''N''' <!-- 31 -->
|style="background:#98ff98;" |'''R''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N''' <!-- 41 -->
|style="background:#FFCC99;" |'''R''' <!-- 43 -->
|style="background:#FBEC5D;" |'''N''' <!-- 47 -->
|style="background:#98ff98;" |'''R''' <!-- 53 -->
|style="background:#FBEC5D;" |'''N''' <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
|style="background:#FFCC99;" |'''R''' <!-- 67 -->
|style="background:#FFCC99;" |'''R'''<!-- 71 -->
|style="background:#ADD8E6;" |'''N''' <!-- 73 -->
|style="background:#FFCC99;" |'''R''' <!-- 79 -->
|style="background:#FBEC5D;" |'''N''' <!-- 83 -->
|style="background:#ADD8E6;" |'''N''' <!-- 89 -->
|style="background:#ADD8E6;" |'''N''' <!-- 97 -->
|-

! 11
|style="background:#FFCC99;" |'''R''' <!--  3 -->
|style="background:#98ff98;" |'''R''' <!--  5 -->
|style="background:#FBEC5D;" |'''N''' <!--  7 -->
!&nbsp; <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#FBEC5D;" |'''N''' <!-- 19 -->
|style="background:#FFCC99;" |'''R''' <!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
|style="background:#FFCC99;" |'''R''' <!-- 31 -->
|style="background:#98ff98;" |'''R''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N''' <!-- 41 -->
|style="background:#FBEC5D;" |'''N''' <!-- 43 -->
|style="background:#FFCC99;" |'''R''' <!-- 47 -->
|style="background:#98ff98;" |'''R''' <!-- 53 -->
|style="background:#FFCC99;" |'''R''' <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
|style="background:#FFCC99;" |'''R''' <!-- 67 -->
|style="background:#FFCC99;" |'''R''' <!-- 71 -->
|style="background:#ADD8E6;" |'''N''' <!-- 73 -->
|style="background:#FBEC5D;" |'''N''' <!-- 79 -->
|style="background:#FBEC5D;" |'''N''' <!-- 83 -->
|style="background:#98ff98;" |'''R''' <!-- 89 -->
|style="background:#98ff98;" |'''R''' <!-- 97 -->
|-

! 13
|style="background:#98ff98;" |'''R''' <!--  3 -->
|style="background:#ADD8E6;" |'''N''' <!--  5 -->
|style="background:#ADD8E6;" |'''N''' <!--  7 -->
|style="background:#ADD8E6;" |'''N''' <!-- 11 -->
!&nbsp; <!-- 13 -->
|style="background:#98ff98;" |'''R''' <!-- 17 -->
|style="background:#ADD8E6;" |'''N''' <!-- 19 -->
|style="background:#98ff98;" |'''R''' <!-- 23 -->
|style="background:#98ff98;" |'''R''' <!-- 29 -->
|style="background:#ADD8E6;" |'''N''' <!-- 31 -->
|style="background:#ADD8E6;" |'''N''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N''' <!-- 41 -->
|style="background:#98ff98;" |'''R''' <!-- 43 -->
|style="background:#ADD8E6;" |'''N''' <!-- 47 -->
|style="background:#98ff98;" |'''R''' <!-- 53 -->
|style="background:#ADD8E6;" |'''N''' <!-- 59 -->
|style="background:#98ff98;" |'''R''' <!-- 61 -->
|style="background:#ADD8E6;" |'''N''' <!-- 67 -->
|style="background:#ADD8E6;" |'''N''' <!-- 71 -->
|style="background:#ADD8E6;" |'''N''' <!-- 73 -->
|style="background:#98ff98;" |'''R''' <!-- 79 -->
|style="background:#ADD8E6;" |'''N''' <!-- 83 -->
|style="background:#ADD8E6;" |'''N''' <!-- 89 -->
|style="background:#ADD8E6;" |'''N''' <!-- 97 -->
|-

!17
|style="background:#ADD8E6;" |'''N''' <!--  3 -->
|style="background:#ADD8E6;" |'''N''' <!--  5 -->
|style="background:#ADD8E6;" |'''N''' <!--  7 -->
|style="background:#ADD8E6;" |'''N''' <!-- 11 -->
|style="background:#98ff98;" |'''R'''<!-- 13 -->
!&nbsp; <!-- 17 -->
|style="background:#98ff98;" |'''R''' <!-- 19 -->
|style="background:#ADD8E6;" |'''N''' <!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
|style="background:#ADD8E6;" |'''N''' <!-- 31 -->
|style="background:#ADD8E6;" |'''N''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N''' <!-- 41 -->
|style="background:#98ff98;" |'''R''' <!-- 43 -->
|style="background:#98ff98;" |'''R''' <!-- 47 -->
|style="background:#98ff98;" |'''R''' <!-- 53 -->
|style="background:#98ff98;" |'''R''' <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
|style="background:#98ff98;" |'''R''' <!-- 67 -->
|style="background:#ADD8E6;" |'''N''' <!-- 71 -->
|style="background:#ADD8E6;" |'''N''' <!-- 73 -->
|style="background:#ADD8E6;" |'''N''' <!-- 79 -->
|style="background:#98ff98;" |'''R''' <!-- 83 -->
|style="background:#98ff98;" |'''R''' <!-- 89 -->
|style="background:#ADD8E6;" |'''N''' <!-- 97 -->
|-

!19
|style="background:#FBEC5D;" |'''N''' <!--  3 -->
|style="background:#98ff98;" |'''R''' <!--  5 -->
|style="background:#FFCC99;" |'''R''' <!--  7 -->
|style="background:#FFCC99;" |'''R''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#98ff98;" |'''R''' <!-- 17 -->
!&nbsp; <!-- 19 -->
|style="background:#FFCC99;" |'''R''' <!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
|style="background:#FBEC5D;" |'''N''' <!-- 31 -->
|style="background:#ADD8E6;" |'''N''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N''' <!-- 41 -->
|style="background:#FFCC99;" |'''R''' <!-- 43 -->
|style="background:#FFCC99;" |'''R''' <!-- 47 -->
|style="background:#ADD8E6;" |'''N''' <!-- 53 -->
|style="background:#FBEC5D;" |'''N''' <!-- 59 -->
|style="background:#98ff98;" |'''R''' <!-- 61 -->
|style="background:#FBEC5D;" |'''N''' <!-- 67 -->
|style="background:#FBEC5D;" |'''N''' <!-- 71 -->
|style="background:#98ff98;" |'''R''' <!-- 73 -->
|style="background:#FBEC5D;" |'''N''' <!-- 79 -->
|style="background:#FFCC99;" |'''R''' <!-- 83 -->
|style="background:#ADD8E6;" |'''N''' <!-- 89 -->
|style="background:#ADD8E6;" |'''N''' <!-- 97 -->
|-

!23
|style="background:#FFCC99;" |'''R''' <!--  3 -->
|style="background:#ADD8E6;" |'''N''' <!--  5 -->
|style="background:#FBEC5D;" |'''N''' <!--  7 -->
|style="background:#FBEC5D;" |'''N''' <!-- 11 -->
|style="background:#98ff98;" |'''R''' <!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#FBEC5D;" |'''N''' <!-- 19 -->
!&nbsp; <!-- 23 -->
|style="background:#98ff98;" |'''R''' <!-- 29 -->
|style="background:#FFCC99;" |'''R''' <!-- 31 -->
|style="background:#ADD8E6;" |'''N''' <!-- 37 -->
|style="background:#98ff98;" |'''R''' <!-- 41 -->
|style="background:#FBEC5D;" |'''N''' <!-- 43 -->
|style="background:#FFCC99;" |'''R''' <!-- 47 -->
|style="background:#ADD8E6;" |'''N''' <!-- 53 -->
|style="background:#FFCC99;" |'''R''' <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
|style="background:#FBEC5D;" |'''N''' <!-- 67 -->
|style="background:#FFCC99;" |'''R''' <!-- 71 -->
|style="background:#98ff98;" |'''R''' <!-- 73 -->
|style="background:#FBEC5D;" |'''N''' <!-- 79 -->
|style="background:#FBEC5D;" |'''N''' <!-- 83 -->
|style="background:#ADD8E6;" |'''N''' <!-- 89 -->
|style="background:#ADD8E6;" |'''N''' <!-- 97 -->
|-

!29
|style="background:#ADD8E6;" |'''N''' <!--  3 -->
|style="background:#98ff98;" |'''R''' <!--  5 -->
|style="background:#98ff98;" |'''R''' <!--  7 -->
|style="background:#ADD8E6;" |'''N''' <!-- 11 -->
|style="background:#98ff98;" |'''R''' <!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#ADD8E6;" |'''N''' <!-- 19 -->
|style="background:#98ff98;" |'''R''' <!-- 23 -->
!&nbsp; <!-- 29 -->
|style="background:#ADD8E6;" |'''N''' <!-- 31 -->
|style="background:#ADD8E6;" |'''N''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N''' <!-- 41 -->
|style="background:#ADD8E6;" |'''N''' <!-- 43 -->
|style="background:#ADD8E6;" |'''N''' <!-- 47 -->
|style="background:#98ff98;" |'''R''' <!-- 53 -->
|style="background:#98ff98;" |'''R''' <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
|style="background:#98ff98;" |'''R''' <!-- 67 -->
|style="background:#98ff98;" |'''R''' <!-- 71 -->
|style="background:#ADD8E6;" |'''N''' <!-- 73 -->
|style="background:#ADD8E6;" |'''N''' <!-- 79 -->
|style="background:#98ff98;" |'''R''' <!-- 83 -->
|style="background:#ADD8E6;" |'''N''' <!-- 89 -->
|style="background:#ADD8E6;" |'''N''' <!-- 97 -->
|-

!31
|style="background:#FBEC5D;" |'''N''' <!--  3 -->
|style="background:#98ff98;" |'''R''' <!--  5 -->
!style="background:#FFCC99;" |'''R''' <!--  7 -->
|style="background:#FBEC5D;" |'''N''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#FFCC99;" |'''R''' <!-- 19 -->
|style="background:#FBEC5D;" |'''N''' <!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
!&nbsp; <!-- 31 -->
|style="background:#ADD8E6;" |'''N''' <!-- 37 -->
|style="background:#98ff98;" |'''R''' <!-- 41 -->
|style="background:#FBEC5D;" |'''N''' <!-- 43 -->
|style="background:#FFCC99;" |'''R''' <!-- 47 -->
|style="background:#ADD8E6;" |'''N''' <!-- 53 -->
|style="background:#FFCC99;" |'''R''' <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
|style="background:#FFCC99;" |'''R''' <!-- 67 -->
|style="background:#FFCC99;" |'''R''' <!-- 71 -->
|style="background:#ADD8E6;" |'''N''' <!-- 73 -->
|style="background:#FBEC5D;" |'''N''' <!-- 79 -->
|style="background:#FBEC5D;" |'''N''' <!-- 83 -->
|style="background:#ADD8E6;" |'''N''' <!-- 89 -->
|style="background:#98ff98;" |'''R''' <!-- 97 -->
|-

!37
|style="background:#98ff98;" |'''R''' <!--  3 -->
|style="background:#ADD8E6;" |'''N''' <!--  5 -->
|style="background:#98ff98;" |'''R''' <!--  7 -->
|style="background:#98ff98;" |'''R''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#ADD8E6;" |'''N''' <!-- 19 -->
|style="background:#ADD8E6;" |'''N''' <!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
|style="background:#ADD8E6;" |'''N''' <!-- 31 -->
!&nbsp; <!-- 37 -->
|style="background:#98ff98;" |'''R''' <!-- 41 -->
|style="background:#ADD8E6;" |'''N''' <!-- 43 -->
|style="background:#98ff98;" |'''R''' <!-- 47 -->
|style="background:#98ff98;" |'''R''' <!-- 53 -->
|style="background:#ADD8E6;" |'''N''' <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
|style="background:#98ff98;" |'''R''' <!-- 67 -->
|style="background:#98ff98;" |'''R''' <!-- 71 -->
|style="background:#98ff98;" |'''R''' <!-- 73 -->
|style="background:#ADD8E6;" |'''N''' <!-- 79 -->
|style="background:#98ff98;" |'''R''' <!-- 83 -->
|style="background:#ADD8E6;" |'''N''' <!-- 89 -->
|style="background:#ADD8E6;" |'''N''' <!-- 97 -->
|-

!41
|style="background:#ADD8E6;" |'''N''' <!--  3 -->
|style="background:#98ff98;" |'''R''' <!--  5 -->
|style="background:#ADD8E6;" |'''N''' <!--  7 -->
|style="background:#ADD8E6;" |'''N''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#ADD8E6;" |'''N''' <!-- 19 -->
|style="background:#98ff98;" |'''R''' <!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
|style="background:#98ff98;" |'''R''' <!-- 31 -->
|style="background:#98ff98;" |'''R''' <!-- 37 -->
!&nbsp;  <!-- 41 -->
|style="background:#98ff98;" |'''R''' <!-- 43 -->
|style="background:#ADD8E6;" |'''N''' <!-- 47 -->
|style="background:#ADD8E6;" |'''N''' <!-- 53 -->
|style="background:#98ff98;" |'''R''' <!-- 59 -->
|style="background:#98ff98;" |'''R''' <!-- 61 -->
|style="background:#ADD8E6;" |'''N''' <!-- 67 -->
|style="background:#ADD8E6;" |'''N''' <!-- 71 -->
|style="background:#98ff98;" |'''R''' <!-- 73 -->
|style="background:#ADD8E6;" |'''N''' <!-- 79 -->
|style="background:#98ff98;" |'''R''' <!-- 83 -->
|style="background:#ADD8E6;" |'''N''' <!-- 89 -->
|style="background:#ADD8E6;" |'''N''' <!-- 97 -->
|-

!43
|style="background:#FBEC5D;" |'''N''' <!--  3 -->
|style="background:#ADD8E6;" |'''N''' <!--  5 -->
|style="background:#FBEC5D;" |'''N''' <!--  7 -->
|style="background:#FFCC99;" |'''R''' <!-- 11 -->
|style="background:#98ff98;" |'''R''' <!-- 13 -->
|style="background:#98ff98;" |'''R''' <!-- 17 -->
|style="background:#FBEC5D;" |'''N''' <!-- 19 -->
|style="background:#FFCC99;" |'''R''' <!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
|style="background:#FFCC99;" |'''R''' <!-- 31 -->
|style="background:#ADD8E6;" |'''N''' <!-- 37 -->
|style="background:#98ff98;" |'''R''' <!-- 41 -->
!&nbsp; <!-- 43 -->
|style="background:#FFCC99;" |'''R''' <!-- 47 -->
|style="background:#98ff98;" |'''R''' <!-- 53 -->
|style="background:#FFCC99;" |'''R''' <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
|style="background:#FFCC99;" |'''R''' <!-- 67 -->
|style="background:#FBEC5D;" |'''N''' <!-- 71 -->
|style="background:#ADD8E6;" |'''N''' <!-- 73 -->
|style="background:#FFCC99;" |'''R''' <!-- 79 -->
|style="background:#FFCC99;" |'''R''' <!-- 83 -->
|style="background:#ADD8E6;" |'''N''' <!-- 89 -->
|style="background:#98ff98;" |'''R''' <!-- 97 -->
|-

!47
|style="background:#FFCC99;" |'''R''' <!--  3 -->
|style="background:#ADD8E6;" |'''N''' <!--  5 -->
|style="background:#FFCC99;" |'''R''' <!--  7 -->
|style="background:#FBEC5D;" |'''N''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#98ff98;" |'''R''' <!-- 17 -->
|style="background:#FBEC5D;" |'''N''' <!-- 19 -->
|style="background:#FBEC5D;" |'''N''' <!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
|style="background:#FBEC5D;" |'''N''' <!-- 31 -->
|style="background:#98ff98;" |'''R''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N''' <!-- 41 -->
|style="background:#FBEC5D;" |'''N''' <!-- 43 -->
!&nbsp; <!-- 47 -->
|style="background:#98ff98;" |'''R''' <!-- 53 -->
|style="background:#FFCC99;" |'''R''' <!-- 59 -->
|style="background:#98ff98;" |'''R''' <!-- 61 -->
|style="background:#FBEC5D;" |'''N''' <!-- 67 -->
|style="background:#FFCC99;" |'''R''' <!-- 71 -->
|style="background:#ADD8E6;" |'''N''' <!-- 73 -->
|style="background:#FFCC99;" |'''R''' <!-- 79 -->
|style="background:#FFCC99;" |'''R''' <!-- 83 -->
|style="background:#98ff98;" |'''R''' <!-- 89 -->
|style="background:#98ff98;" |'''R''' <!-- 97 -->
|-

!53
|style="background:#ADD8E6;" |'''N''' <!--  3 -->
|style="background:#ADD8E6;" |'''N''' <!--  5 -->
|style="background:#98ff98;" |'''R''' <!--  7 -->
|style="background:#98ff98;" |'''R''' <!-- 11 -->
|style="background:#98ff98;" |'''R''' <!-- 13 -->
|style="background:#98ff98;" |'''R''' <!-- 17 -->
|style="background:#ADD8E6;" |'''N''' <!-- 19 -->
|style="background:#ADD8E6;" |'''N''' <!-- 23 -->
|style="background:#98ff98;" |'''R''' <!-- 29 -->
|style="background:#ADD8E6;" |'''N''' <!-- 31 -->
|style="background:#98ff98;" |'''R''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N''' <!-- 41 -->
|style="background:#98ff98;" |'''R''' <!-- 43 -->
|style="background:#98ff98;" |'''R''' <!-- 47 -->
!&nbsp;  <!-- 53 -->
|style="background:#98ff98;" |'''R''' <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
|style="background:#ADD8E6;" |'''N''' <!-- 67 -->
|style="background:#ADD8E6;" |'''N''' <!-- 71 -->
|style="background:#ADD8E6;" |'''N''' <!-- 73 -->
|style="background:#ADD8E6;" |'''N''' <!-- 79 -->
|style="background:#ADD8E6;" |'''N''' <!-- 83 -->
|style="background:#98ff98;" |'''R''' <!-- 89 -->
|style="background:#98ff98;" |'''R''' <!-- 97 -->
|-

!59
|style="background:#FFCC99;" |'''R''' <!--  3 -->
|style="background:#98ff98;" |'''R''' <!--  5 -->
|style="background:#FFCC99;" |'''R''' <!--  7 -->
|style="background:#FBEC5D;" |'''N''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#98ff98;" |'''R''' <!-- 17 -->
|style="background:#FFCC99;" |'''R''' <!-- 19 -->
|style="background:#FBEC5D;" |'''N''' <!-- 23 -->
|style="background:#98ff98;" |'''R''' <!-- 29 -->
|style="background:#FBEC5D;" |'''N''' <!-- 31 -->
|style="background:#ADD8E6;" |'''N''' <!-- 37 -->
|style="background:#98ff98;" |'''R''' <!-- 41 -->
|style="background:#FBEC5D;" |'''N''' <!-- 43 -->
|style="background:#FBEC5D;" |'''N''' <!-- 47 -->
|style="background:#98ff98;" |'''R''' <!-- 53 -->
!&nbsp;  <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
|style="background:#FBEC5D;" |'''N''' <!-- 67 -->
|style="background:#FFCC99;" |'''R''' <!-- 71 -->
|style="background:#ADD8E6;" |'''N''' <!-- 73 -->
|style="background:#FFCC99;" |'''R''' <!-- 79 -->
|style="background:#FBEC5D;" |'''N''' <!-- 83 -->
|style="background:#ADD8E6;" |'''N''' <!-- 89 -->
|style="background:#ADD8E6;" |'''N''' <!-- 97 -->
|-

!61
|style="background:#98ff98;" |'''R''' <!--  3 -->
|style="background:#98ff98;" |'''R''' <!--  5 -->
|style="background:#ADD8E6;" |'''N''' <!--  7 -->
|style="background:#ADD8E6;" |'''N''' <!-- 11 -->
|style="background:#98ff98;" |'''R''' <!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#98ff98;" |'''R''' <!-- 19 -->
|style="background:#ADD8E6;" |'''N''' <!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
|style="background:#ADD8E6;" |'''N''' <!-- 31 -->
|style="background:#ADD8E6;" |'''N''' <!-- 37 -->
|style="background:#98ff98;" |'''R''' <!-- 41 -->
|style="background:#ADD8E6;" |'''N''' <!-- 43 -->
|style="background:#98ff98;" |'''R''' <!-- 47 -->
|style="background:#ADD8E6;" |'''N''' <!-- 53 -->
|style="background:#ADD8E6;" |'''N''' <!-- 59 -->
!&nbsp; <!-- 61 -->
|style="background:#ADD8E6;" |'''N''' <!-- 67 -->
|style="background:#ADD8E6;" |'''N''' <!-- 71 -->
|style="background:#98ff98;" |'''R''' <!-- 73 -->
|style="background:#ADD8E6;" |'''N''' <!-- 79 -->
|style="background:#98ff98;" |'''R''' <!-- 83 -->
|style="background:#ADD8E6;" |'''N''' <!-- 89 -->
|style="background:#98ff98;" |'''R''' <!-- 97 -->
|-

!67
|style="background:#FBEC5D;" |'''N''' <!--  3 -->
|style="background:#ADD8E6;" |'''N''' <!--  5 -->
|style="background:#FBEC5D;" |'''N''' <!--  7 -->
|style="background:#FBEC5D;" |'''N''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#98ff98;" |'''R''' <!-- 17 -->
|style="background:#FFCC99;" |'''R''' <!-- 19 -->
|style="background:#FFCC99;" |'''R''' <!-- 23 -->
|style="background:#98ff98;" |'''R''' <!-- 29 -->
|style="background:#FBEC5D;" |'''N''' <!-- 31 -->
|style="background:#98ff98;" |'''R''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N''' <!-- 41 -->
|style="background:#FBEC5D;" |'''N''' <!-- 43 -->
|style="background:#FFCC99;" |'''R''' <!-- 47 -->
|style="background:#ADD8E6;" |'''N''' <!-- 53 -->
|style="background:#FFCC99;" |'''R''' <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
!&nbsp; <!-- 67 -->
|style="background:#FFCC99;" |'''R''' <!-- 71 -->
|style="background:#98ff98;" |'''R''' <!-- 73 -->
|style="background:#FBEC5D;" |'''N''' <!-- 79 -->
|style="background:#FFCC99;" |'''R''' <!-- 83 -->
|style="background:#98ff98;" |'''R''' <!-- 89 -->
|style="background:#ADD8E6;" |'''N''' <!-- 97 -->
|-

!71
|style="background:#FFCC99;" |'''R''' <!--  3 -->
|style="background:#98ff98;" |'''R''' <!--  5 -->
|style="background:#FBEC5D;" |'''N''' <!--  7 -->
|style="background:#FBEC5D;" |'''N''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#FFCC99;" |'''R''' <!-- 19 -->
|style="background:#FBEC5D;" |'''N''' <!-- 23 -->
|style="background:#98ff98;" |'''R''' <!-- 29 -->
|style="background:#FBEC5D;" |'''N''' <!-- 31 -->
|style="background:#98ff98;" |'''R''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N''' <!-- 41 -->
|style="background:#FFCC99;" |'''R''' <!-- 43 -->
|style="background:#FBEC5D;" |'''N''' <!-- 47 -->
|style="background:#ADD8E6;" |'''N''' <!-- 53 -->
|style="background:#FBEC5D;" |'''N''' <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
|style="background:#FBEC5D;" |'''N''' <!-- 67 -->
!&nbsp; <!-- 71 -->
|style="background:#98ff98;" |'''R''' <!-- 73 -->
|style="background:#FFCC99;" |'''R''' <!-- 79 -->
|style="background:#FFCC99;" |'''R''' <!-- 83 -->
|style="background:#98ff98;" |'''R''' <!-- 89 -->
|style="background:#ADD8E6;" |'''N''' <!-- 97 -->
|-

!73
|style="background:#98ff98;" |'''R''' <!--  3 -->
|style="background:#ADD8E6;" |'''N''' <!--  5 -->
|style="background:#ADD8E6;" |'''N''' <!--  7 -->
|style="background:#ADD8E6;" |'''N''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#98ff98;" |'''R''' <!-- 19 -->
|style="background:#98ff98;" |'''R''' <!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
|style="background:#ADD8E6;" |'''N''' <!-- 31 -->
|style="background:#98ff98;" |'''R''' <!-- 37 -->
|style="background:#98ff98;" |'''R''' <!-- 41 -->
|style="background:#ADD8E6;" |'''N''' <!-- 43 -->
|style="background:#ADD8E6;" |'''N''' <!-- 47 -->
|style="background:#ADD8E6;" |'''N''' <!-- 53 -->
|style="background:#ADD8E6;" |'''N''' <!-- 59 -->
|style="background:#98ff98;" |'''R''' <!-- 61 -->
|style="background:#98ff98;" |'''R''' <!-- 67 -->
|style="background:#98ff98;" |'''R''' <!-- 71 -->
!&nbsp; <!-- 73 -->
|style="background:#98ff98;" |'''R''' <!-- 79 -->
|style="background:#ADD8E6;" |'''N''' <!-- 83 -->
|style="background:#98ff98;" |'''R''' <!-- 89 -->
|style="background:#98ff98;" |'''R''' <!-- 97 -->
|-

!79
|style="background:#FBEC5D;" |'''N''' <!--  3 -->
|style="background:#98ff98;" |'''R''' <!--  5 -->
|style="background:#FBEC5D;" |'''N''' <!--  7 -->
|style="background:#FFCC99;" |'''R''' <!-- 11 -->
|style="background:#98ff98;" |'''R''' <!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#FFCC99;" |'''R''' <!-- 19 -->
|style="background:#FFCC99;" |'''R''' <!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
|style="background:#FFCC99;" |'''R''' <!-- 31 -->
|style="background:#ADD8E6;" |'''N''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N''' <!-- 41 -->
|style="background:#FBEC5D;" |'''N''' <!-- 43 -->
|style="background:#FBEC5D;" |'''N''' <!-- 47 -->
|style="background:#ADD8E6;" |'''N''' <!-- 53 -->
|style="background:#FBEC5D;" |'''N''' <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
|style="background:#FFCC99;" |'''R''' <!-- 67 -->
|style="background:#FBEC5D;" |'''N''' <!-- 71 -->
|style="background:#98ff98;" |'''R''' <!-- 73 -->
!&nbsp; <!-- 79 -->
|style="background:#FFCC99;" |'''R''' <!-- 83 -->
|style="background:#98ff98;" |'''R''' <!-- 89 -->
|style="background:#98ff98;" |'''R''' <!-- 97 -->
|-

!83
|style="background:#FFCC99;" |'''R''' <!--  3 -->
|style="background:#ADD8E6;" |'''N''' <!--  5 -->
|style="background:#FFCC99;" |'''R''' <!--  7 -->
|style="background:#FFCC99;" |'''R''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#98ff98;" |'''R''' <!-- 17 -->
|style="background:#FBEC5D;" |'''N''' <!-- 19 -->
|style="background:#FFCC99;" |'''R''' <!-- 23 -->
|style="background:#98ff98;" |'''R''' <!-- 29 -->
|style="background:#FFCC99;" |'''R''' <!-- 31 -->
|style="background:#98ff98;" |'''R''' <!-- 37 -->
|style="background:#98ff98;" |'''R''' <!-- 41 -->
|style="background:#FBEC5D;" |'''N''' <!-- 43 -->
|style="background:#FBEC5D;" |'''N''' <!-- 47 -->
|style="background:#ADD8E6;" |'''N''' <!-- 53 -->
|style="background:#FFCC99;" |'''R''' <!-- 59 -->
|style="background:#98ff98;" |'''R''' <!-- 61 -->
|style="background:#FBEC5D;" |'''N''' <!-- 67 -->
|style="background:#FBEC5D;" |'''N''' <!-- 71 -->
|style="background:#ADD8E6;" |'''N''' <!-- 73 -->
|style="background:#FBEC5D;" |'''N''' <!-- 79 -->
!&nbsp; <!-- 83 -->
|style="background:#ADD8E6;" |'''N''' <!-- 89 -->
|style="background:#ADD8E6;" |'''N''' <!-- 97 -->
|-

!89
|style="background:#ADD8E6;" |'''N''' <!--  3 -->
|style="background:#98ff98;" |'''R''' <!--  5 -->
|style="background:#ADD8E6;" |'''N''' <!--  7 -->
|style="background:#98ff98;" |'''R''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#98ff98;" |'''R''' <!-- 17 -->
|style="background:#ADD8E6;" |'''N''' <!-- 19 -->
|style="background:#ADD8E6;" |'''N''' <!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
|style="background:#ADD8E6;" |'''N''' <!-- 31 -->
|style="background:#ADD8E6;" |'''N''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N''' <!-- 41 -->
|style="background:#ADD8E6;" |'''N''' <!-- 43 -->
|style="background:#98ff98;" |'''R''' <!-- 47 -->
|style="background:#98ff98;" |'''R''' <!-- 53 -->
|style="background:#ADD8E6;" |'''N''' <!-- 59 -->
|style="background:#ADD8E6;" |'''N''' <!-- 61 -->
|style="background:#98ff98;" |'''R''' <!-- 67 -->
|style="background:#98ff98;" |'''R''' <!-- 71 -->
|style="background:#98ff98;" |'''R''' <!-- 73 -->
|style="background:#98ff98;" |'''R''' <!-- 79 -->
|style="background:#ADD8E6;" |'''N''' <!-- 83 -->
!&nbsp;  <!-- 89 -->
|style="background:#98ff98;" |'''R''' <!-- 97 -->
|-

!97
|style="background:#98ff98;" |'''R''' <!--  3 -->
|style="background:#ADD8E6;" |'''N''' <!--  5 -->
|style="background:#ADD8E6;" |'''N''' <!--  7 -->
|style="background:#98ff98;" |'''R''' <!-- 11 -->
|style="background:#ADD8E6;" |'''N''' <!-- 13 -->
|style="background:#ADD8E6;" |'''N''' <!-- 17 -->
|style="background:#ADD8E6;" |'''N''' <!-- 19 -->
|style="background:#ADD8E6;" |'''N''' <!-- 23 -->
|style="background:#ADD8E6;" |'''N''' <!-- 29 -->
|style="background:#98ff98;" |'''R''' <!-- 31 -->
|style="background:#ADD8E6;" |'''N''' <!-- 37 -->
|style="background:#ADD8E6;" |'''N''' <!-- 41 -->
|style="background:#98ff98;" |'''R''' <!-- 43 -->
|style="background:#98ff98;" |'''R''' <!-- 47 -->
|style="background:#98ff98;" |'''R''' <!-- 53 -->
|style="background:#ADD8E6;" |'''N''' <!-- 59 -->
|style="background:#98ff98;" |'''R''' <!-- 61 -->
|style="background:#ADD8E6;" |'''N''' <!-- 67 -->
|style="background:#ADD8E6;" |'''N''' <!-- 71 -->
|style="background:#98ff98;" |'''R''' <!-- 73 -->
|style="background:#98ff98;" |'''R''' <!-- 79 -->
|style="background:#ADD8E6;" |'''N''' <!-- 83 -->
|style="background:#98ff98;" |'''R''' <!-- 89 -->
!&nbsp; <!-- 97 -->
|}

제곱 잉여 문제의 일부 예는 다음과 같다.
{| class="wikitable"
|-
! (''p'', ''q'') !! <math>p\stackrel{?}{\equiv} 3\stackrel{?}{\equiv} q\pmod 4</math> || <math>x^2\equiv p\pmod q</math> || <math>x^2\equiv q\pmod p</math>
|-
| (3,7) || <math>p \equiv3\equiv q \pmod4</math> || 해 없음 || <math>y\equiv\pm1\pmod3</math>
|-
| (3,5) || <math>p \equiv 3\not\equiv q \pmod4</math> || 해 없음 || 해 없음
|-
| (5,11) || <math>p \not\equiv 3\equiv q \pmod4</math> || <math>x\equiv\pm4\pmod{11}</math> || <math>y\equiv\pm1\pmod5</math>
|-
| (5, 13) || <math>p \not\equiv 3\not\equiv q \pmod4</math> || 해 없음 || 해 없음
|-
| (13, 17) || <math>p \not\equiv 3\not\equiv q \pmod4</math> || <math>x\equiv\pm8\pmod{17}</math> || <math>y\equiv\pm2\pmod{13}</math>
|}

=== 제곱잉여의 판별 ===
일반적으로 어떤 수가 [[제곱잉여]]인지 아닌지를 판별하는 문제는 쉽지 않다. 이때 이차상호법칙을 이용하여 문제를 해결할 수 있다.

예를 들어, 다음 합동식
:<math>x^2 \equiv 57 \pmod{127}</math>
이 해를 가지는지를 판별하여 보자. 이것은 [[르장드르 기호]] <math>\left( \frac{57}{127} \right)</math>의 값을 구하면 된다.

[[르장드르 기호]]의 성질에 의해,
:<math>\left( \frac{57}{127} \right) = \left( \frac{3}{127} \right) \left( \frac{19}{127} \right)</math>
이다. 한편 3, 19, 127은 모두 4로 나눈 나머지가 3인 소수이므로 이차상호법칙에 의해
:<math>\left(\frac{3}{127}\right) =(-1)^{\frac{(3-1)(127-1)}{4}}\left(\frac{127}{3}\right) =(-1)\left(\frac{1}{3}\right) = -1</math>
이고
:<math>\left(\frac{19}{127}\right) =(-1)^{\frac{(19-1)(127-1)}{4}}\left(\frac{127}{19}\right) =(-1)\left(\frac{13}{19}\right)</math>
:<math>=(-1)(-1)^{\frac{(13-1)(19-1)}{4}}\left(\frac{19}{13}\right) =(-1)\left(\frac{6}{13}\right)=(-1)\left(\frac{2}{13}\right)\left(\frac{3}{13}\right) </math>
:<math>=(-1)(-1)(-1)^{\frac{(3-1)(13-1)}{4}}\left(\frac{13}{3}\right) =\left(\frac{1}{3}\right) =1</math>
이다. 따라서
:<math>\left(\frac{57}{127}\right)=-1</math>
이므로, 57은 127에 대한 [[제곱잉여]]가 아니다.

== 각주 ==
{{각주}}
* {{서적 인용
  | last = Lemmermeyer  | first = Franz
  | title = Reciprocity laws: from Euler to Eisenstein
  | publisher = Springer
  | 날짜 = 2000
  | isbn = 978-3-540-66957-9 | issn=1439-7382 | 총서=Springer Monographs in Mathematics
  | doi= 10.1007/978-3-662-12893-0|언어=en}}
* {{서적 인용
  | last = Ireland  | first = Kenneth
  | 공저자 =Michael Rosen
  | title = A classical introduction to modern number theory |판=2판
  | publisher =Springer | 총서= Graduate Texts in Mathematics|권=84 | isbn=978-0-387-97329-6 | issn=0072-5285
  | 날짜 = 1990
  | doi=10.1007/978-1-4757-2103-4 |언어=en}}

== 외부 링크 ==
* {{eom|title=Quadratic reciprocity law}}
* {{eom|title=Gauss reciprocity law}}
* {{매스월드|id=QuadraticReciprocityTheorem|title=Quadratic reciprocity theorem}}
* {{웹 인용|url=http://ncatlab.org/nlab/show/quadratic+reciprocity+law|제목=Quadratic reciprocity law|웹사이트=nLab|언어=en}}
* {{웹 인용|url=https://www.proofwiki.org/wiki/Law_of_Quadratic_Reciprocity|제목=Law of quadratic reciprocity|웹사이트=ProofWiki|언어=en|확인날짜=2015-01-22|archive-date=2015-01-22|archive-url=https://web.archive.org/web/20150122132658/https://www.proofwiki.org/wiki/Law_of_Quadratic_Reciprocity|url-status=}}
** {{웹 인용|url=https://www.proofwiki.org/wiki/First_Supplement_to_the_Law_of_Quadratic_Reciprocity|제목=First supplement to the law of quadratic reciprocity|웹사이트=ProofWiki|언어=en|확인날짜=2015-01-22|보존url=https://web.archive.org/web/20150122132914/https://www.proofwiki.org/wiki/First_Supplement_to_the_Law_of_Quadratic_Reciprocity|보존날짜=2015-01-22|url-status=dead}}
** {{웹 인용|url=https://www.proofwiki.org/wiki/Second_Supplement_to_the_Law_of_Quadratic_Reciprocity|제목=Second supplement to the law of quadratic reciprocity|웹사이트=ProofWiki|언어=en|확인날짜=2015-01-22|보존url=https://web.archive.org/web/20150122132901/https://www.proofwiki.org/wiki/Second_Supplement_to_the_Law_of_Quadratic_Reciprocity|보존날짜=2015-01-22|url-status=dead}}
* {{수학노트|title=이차잉여의 상호법칙}}
* {{서적 인용|url=http://libres.uncg.edu/ir/uncg/listing.aspx?id=4091|제목=Quadratic reciprocity for the rational integers and the Gaussian integers|이름=Nancy |성=Buck|날짜=2010|출판사=The University of North Carolina at Greensboro|기타=학사 학위 논문|언어=en}}

== 같이 보기 ==
* [[르장드르 기호]]
* [[야코비 기호]]
* [[힐베르트 기호]]
* [[유체론]]
* [[아르틴 상호 법칙]]

[[분류:대수적 수론]]
[[분류:수론 정리]]
[[분류:모듈러 산술]]