선형 합동식의 해가 존재할 필요충분조건, 해의 개수
ax≡b(modn)의 형태를 선형 합동식이라 하고, 이 방정식의 해는 ax0≡b(modn) 을 만족하는 정수 x0 이다.
이는 n∣ax0−b의 필요 충분조건이며, 따라서 어떤 정수 y0이 존재하여
ax0−b=ny0이고, ax0−ny0=b 에 대한 해를 구하는 문제가 된다.
따라서, gcd(a,n)∣b가 해가 존재할 필요충분조건이다.
Theorem 4.7
d=gcd(a,n)이라 할 때,
선형 합동식 ax≡b(modn)의 해가 존재할 조건은 d∣b 이다.
이 조건이 만족되면 법 n에 대해 d개의 서로 합동이 아닌 해를 가진다.
증명
ax−ny=b의 해 (x,y)가 존재할 조건은 d∣b이다. 이것은 증명되었다. 2단원 참고
해가 있을 때, 이를 만족하는 (x,y)의 해는 무수히 많고, 특이해 (x0,y0)에 대해,
x=x0+(n/d)t, y=y0+(a/d)t
는 일반해이다.
2-5 디오판투스 방정식 단원 참고
법 n에 대한 완전잉여계
t가 연속적인 값 t=0,1,2,…,d−1 일 때를 생각하자.
x0,x0+(n/d),x0+2(n/d),…,x0+(d−1)(n/d)
이 정수들은 법 n에 대해 완전잉여계를 형성한다. 그렇지 않다고 하자.
(0≤i,j<d,i=j) 에 대해,
x0+i(n/d)≡x0+j(n/d)(modn)이고, (i−j)(n/d)≡0(modn) 이 된다.
양변에서 n/d 를 소거하여 gcd(n,n/d)=n/d 이기 때문에 (i−j)≡0(modd) 를 얻는다.
그런데 ∣i−j∣<d 이기 때문에 i=j 가 되야해서 모순이다. 따라서 완전잉여계를 형성한다.
d개의 법 n에 대한 서로 다른 해를 구했고, 임의의 해가 이 d개 중 하나와 합동을 이룸을 보이자.
임의의 해 x0+(n/d)t 에 대해 t=qd+r 을 만족하는 q,r (0≤r<d) 가 유일히 존재한다.
나눗셈 정리
x0+(n/d)t=x0+(n/d)(qd+r)=x0+nq+(n/d)r≡x0+(n/d)r(modn)
0≤r<d 이기 때문에 이는 앞서 구했던 d개의 해 중 임의의 해와 합동이므로 선형 합동식 ax≡b(modn) 가 해가 존재한다면, 어떤 해는 법 n에 대해 d(=gcd(a,n))개의 서로 다른 해를 가짐이 증명된다. □
Corollary 1
gcd(a,n)=1 이면, ax≡b(modn)의 단 하나의 해가 존재한다.
나머지 연산의 곱셈 역원
ax≡1(modn)이 유일한 해를 가질 조건은 gcd(a,n)=1 일 때 뿐이며, 이를 Inverse of a modulo n 이라 부른다.
PS에서 나머지 연산의 곱셈 역원은 큰 수에 대해서 나머지를 구하려는 식에 나눗셈이 포함되어 있는 경우 굉장히 유용하고 중요하다.
대개 확장 유클리드 호제법이나 페르마의 소정리로 구해진다.
ax≡1(modn)인 합동식에 대해서 x를 구한다는 것은, 합동식의 어떤 a에 x를 곱해서 1 을 만드는 역원을 활용할 수 있다는 의미이고, 나눗셈 연산대신 이 역원이랑 곱셈 연산을 해줌으로써 합동식에서의 해를 구할 수 있기 때문이다.
예시
예를 들어, NCK=K!(N−K)!N! 인데, 이것의 법 m에 대한 나머지를 구하고 싶다고 하자.
그럼 우린 K!와 (N−K)! 에 대해 법 m에 대한 Inverse modulo를 구하면, N! 에 그걸 곱해주고 m으로 나눠줌으로써 NCK를 m으로 나눈 나머지를 구할 수 있다는 의미이다.
하지만 앞서 설명했듯이 gcd(a,n)=1 일 때만 Inverse modulo가 존재하여 활용할 수 있다.
그래서 문제에서 대개 m은 소수로 주어지는 편이다.
연립 선형 합동 방정식
연립 선형 합동 방정식을 간단한 형태로 정리하는 법을 살펴본다.
연립 선형 합동방정식
a1xa2x⋮≡b1(modm1)≡b2(modm2)
가 있을 때, 모두 해가 있다면,
dk=gcd(ak,mk) 일 때, 어떤 k에 대해 dk∤bk 라면 해가 없다.
ak′dkbk′dknkdk=ak=bk=mk
라고 둔다면,
a1′xa2′x≡b1′(modn1)≡b2′(modn2)⋮ (1)
로 변환되며 더 나아가 임의의 i,j(i=j)에 대해 , ni=nj 를 만족하는 꼴로 정리할 수 있다.
이 때, gcd(ak′,nk)=1이므로
∵dk=gcd(ak,mk)
ak′Ik≡1(modnk) 를 만족하는 Inverse modulo Ik가 존재하고, 이를 (1) 에서 각 양변에 곱해준다면,
x≡c1(modn1)x≡c2(modn2)⋮
를 얻는다.
중국인의 나머지 정리
중국인의 나머지 정리는 PS에서 종종(?) 나올 정도로 실용적인 경우가 있는데, 이 글에서 소개하는 이론적인 내용도 중요하지만 좀더 실용적인 방법으로 코드를 짤 수 있다.
관련한 내용들은 따로 정리를 할 예정이다.
Theorem 4.8 - 중국인의 나머지 정리(Chinese Remainder Theorem)
n1,n2,…,nr 을 i=j에 대해 gcd(ni,nj)=1 인 양의 정수라 할 때, 연립 선형합동식
x≡a1(modn1)x≡a2(modn2)⋮x≡ar(modnr)
은 법 k=1∏rnk 에 대해 유일한 공통 해를 갖는다.
증명
N=k=1∏rnk 라 하고, Ni=N/ni 라 하자.
gcd(Ni,ni)=1 이다.
∵ 유클리드 보조정리에 의해
따라서 Nkxk≡1(modni) 를 만족하는 해 xk가 존재한다.
x=k=1∑rakNkxk 라 하면, 이 해가 주어진 연립 선형합동식을 만족하게된다.
어떤 i(1≤i≤r)에 대해, i=j인 ajNjxj는 ni로 나누어 떨어진다.
∵ni∣Nj
따라서 x≡k=1∑rakNkxk≡aiNixi≡ai(modni) 이다.
∵Nixi≡1(modni)
이렇게 모든 i에 대해 x가 선형합동식을 만족하는 해이기 때문에 해의 존재성이 증명된다.
해의 유일성
x=x′ 인 또 다른 해 x′ 가 있다고 가정하자.
어떤 k에 대해 x−x′≡0(modnk) 이다.
gcd(a,b)=1 일 때, a∣c, b∣c⇒ab∣c 이므로,
Theorem 2.4 - corollary 2 이다.
위 식에서 모든 ni가 서로 서로소이기 때문이다.
x−x′≡0(mod∑k=1rnk)가 되는데 이는 모순이다.
따라서 또 다른 해 x′는 존재하지않고 유일성이 증명된다. ■
미지수가 2개인 연립 선형합동식
변수가 2개인 선형 합동식
ax+by≡c(modn)
이 해가 존재할 조건은, gcd(a,b,n)∣c 이다.
Theorem 4.9
다음 연립 선형합동식
ax+by≡r(modn)cx+dy≡s(modn)
은 gcd(ad−bc)=1 일 때, 법 n에 대해 유일한 해를 가진다.
증명
−)dax+dby≡dr(modn)bcx+dby≡bs(modn)x(ad−bc)≡dr−bs(modn) 1◯
(ad−bc)t≡1(modn)인 유일한 해인 t에 대하여 1◯에 양변을 곱해주면,
x≡t(dr−bs)(modn)
이는 연립합동식의 해 x가 존재함이 보인다.
이와 비슷하게
y≡t(as−cr)(modn)
이 과정은 사실 중학교때 배우는 연립방정식을 푸는것과 다르지 않다.
Comments