3
高校数学解説
文献あり

一般化Lucasの定理と東大数学2021

1014
0

はじめに

 この記事では今年の東大入試問題を起点に二項係数nCmにまつわる法peの合同関係を紹介していきます。
 さて今年の東大入試では第4問に次のような問題が出たとのことでした。

 以下の問いに答えよ。

  1. 正の奇数K,Lと正の整数A,BKA=LBを満たしているとする。K4で割った余りがL4で割った余りと等しいならば、A4で割った余りはB4で割った余りと等しいことを示せ。
  2. 正の整数a,ba>bを満たしているとする。このとき、A=4a+1C4b+1,B=aCbに対してKA=LBとなるような正の奇数K,Lが存在することを示せ。
  3. a,bは(2)の通りとし、さらにab2で割り切れるとする。4a+1C4b+14で割った余りはaCb4で割った余りと等しいことを示せ。
  4. 2021C374で割った余りを求めよ。

 (1)はKL(Z/4Z)×より
AK1KA=K1LBL1LBB(mod4)
という話で、(4)は(3)から
2021C37505C9126C2=631253(mod4)
という単純な話ですが気になるのは(2)と(3)です。(2)はひとまず置いておくとして(3)を見て私はまずLucasの定理が頭に浮かびました。

Lucasの定理

 素数pと非負整数n,mに対してn,mp進数表示を
n=ndnd1n1n0(p)(=ndpd+nd1pd1++n1p+n0)m=mdmd1m1m0(p)(=mdpd+md1pd1++n1p+m0)
とおくと
nCmndCmdnd1Cmd1n1Cm1n0Cm0(modp)
が成り立つ。ただしn<mに対してはnCm=0と定める。

 しかしLucasの定理からわかるのは
4a+1C4b+1aCb0C01C1=aCb(mod2)
であって法4における合同関係まではわかりません。となるとLucasの定理の素数冪版を考えてみたくなります。自力では思いつかなかったので Lucas's theorem - Wikipedia を覗いてみると

Andrew Granville has given a generalization of Lucas's theorem to the case of p being a power of prime.
(Andrew GranvilleはLucasの定理の素数冪を法とした場合への一般化を与えました。)

とあったので早速そのリンク先を見てみることにしました。

Kummerの定理と一般化Lucasの定理

 証明は後にするとしてまずはAndrew Granvilleの得た結果と先の問題への応用を見てみましょう。
 以下n,mを非負整数とし、n,mおよびl=nmp進数表示を
n=ndnd1n1n0(p)m=mdmd1m1m0(p)l=ldld1l1l0(p)
とおき、εip進数における足し算m+lの各桁についてmi+li+εi1が繰り上がるとき(つまりmi+li+εi1pのとき)εi=1、繰り上がらないとき(mi+li+εi1<pのとき)εi=0と定める。

Kummerの定理

 nCmの素因数分解における素因数pの指数vp(nCm)p進数での足し算m+l(=n)における繰り上がりの回数i=0d1εiに等しい。

 例えば2021C37の素因数分解における素因数5の指数を考えてみよう。
 202137=1984=30414(5)37=122(5)の足し算を考えると
1130414(5)+122(5)31041(5)
2回繰り上がっているのでv5(2021C37)=2がわかる。

 これは最初に挙げた問題の(2)に有効です。具体的にはa,b2進数表示を
a=adad1a1a0(2)b=bdbd1b1b0(2)
とおくと4a+1,4b+12進数表示はそれぞれ
4a+1=100a+1(2)=adad1a1a001(2)4b+1=100b+1(2)=bdbd1b1b001(2)
となるので2進数での足し算(ab)+b4(ab)+(4b+1)における繰り上がりの回数は等しく、Kummerの定理からv2(4a+1C4b+1)=v2(aCb)=kが言え、
K=aCb2k,L=4a+1C4b+12k
についてK4a+1C4b+1=LaCbが成り立つ。といった具合に示せます。
 次に一般化Lucasの定理を紹介しますが、その前に特殊な階乗を定義しておきます。

 素数pと非負整数nに対しn!p
n!p=k=1pknk
と定める(ただし0!p=1とする)。このとき
n!p=k=1nkp|kk=n!j=1n/ppj=n!pn/p(n/p)!
とも表せることに注意する。

一般化Lucasの定理

 Ninp進数表示における(下から)i+1からi+e桁目まで抜き出したもの、つまり
Ni=ni+e1ni+1ni(p)
とおく。m,lについても同様にMi,Liを定める。またkj,δpe
kj=i=jd1εi,δpe={1ifpe=2e231otherwise
と定める。このとき
nCmpk0δpeke1(Nd)!p(Md)!p(Ld)!p(N1)!p(M1)!p(L1)!p(N0)!p(M0)!p(L0)!p(modpe)
が成り立つ。

 一般化Lucasの定理をe=1のときに適応すると
nCmpk0(1)k0i=1d(ni)!(mi)!(li)!(modp)
となり、特に全てのiに対しnimiならばk0=0でありli=nimiなので
nCmi=1dniCmi(modp)
とLucasの定理を得る。

 例えば2021C375252で割った余りを考えてみよう。このとき
n=2021=31041(5),m=37=122(5),l=202137=30414(5)
およびδ52=1, k21=1なので(都合、進数表記(n)は等号の右下に記す)
2021C3752(5)(1)1(03)!5(00)!5(03)!5(31)!5(00)!5(30)!5(10)!5(01)!5(04)!5(04)!5(12)!5(41)!5(41)!5(22)!5(14)!5=(5)1131(5)1(04)!5(12)!5(22)!5(14)!5=(10)164!7!512!5109!5(10)94!(4!)31(67)(67891112)(6789)(10)142(844899)(487)(10)1(8)(1621)(27)=(10)1297492(7)11(mod25)
(途中4!=241(mod25)であることや210=10241(mod25)であることを用いた。)
のように2021C375252で割った余りは11であることがわかる。

 これは(3)に有効です。具体的にはv2(4a+1C4b+1)=v2(aCb)=k0および
c=ab=cdcd1c1c0Ai=ai+1ai(2),Bi=bi+1bi(2),Ci=ci+1ci(2)
とおくと一般化Lucasの定理より
4a+1C4b+12k0(1)k0(i=0d(Ai)!2(Bi)!2(Ci)!2)(a00)!2(b00)!2(c00)!2(01)!2(01)!2(00)!2(1)k0k1aCb2k011(mod22)={aCb2k0ifa0b0aCb2k0ifa0<b0
が成り立ち、ab0(mod2)のときa0=b0であるので
4a+1C4b+12k0aCb2k0(mod4)
ひいては
4a+1C4b+1aCb(mod4)
を得る。といった具合に示せます。

証明

Kummerの定理

Legendreの公式

vp(n!)=ni=1dnip1が成り立つ。

n=i=1dnipi
より
npj=i=jdnipij
が成り立つので通常のLegendreの公式から
vp(n!)=j=1dnpj=i=1dnij=1ipij=i=1dni(pi1)p1=ni=1dnip1
を得る。

Kummerの定理(再掲)

vp(nCm)=i=0d1εiが成り立つ。

 いまn=m+lおよびεiの取り方から
n0=m0+l0pε0ni=mi+li+εi1pεi(i1)
が成り立つので(nd+1=εd=0に注意すると)
vp(nCm)=vp(n!m!l!)=vp(n!)vp(m!)vp(l!)=i=0d(ni+mi+li)p1=pε0+i=1d(pεiεi1)p1=(p1)i=0d1εip1=i=0d1εi
を得る。

一般化Lucasの定理

npjmpjlpj=εj1が成り立つ。

npjmpjlpj=i=jd(nimili)pij=i=jd(εi1pεi)pij=εj1+i=j+1dεi1piji=jd1εipij+1=εj1
と主張を得る。

一般化Wilsonの定理

(pe)!pδpe(modpe)が成り立つ。

(pe)!px(Z/peZ)×x(modpe)
の各因子xについてxx1(modpe)すなわちx21(modpe)であればxに対応する因子x1と打ち消し合って1になるので
x(Z/peZ)×xx21x(modpe)
であって、 この記事 でも紹介したように合同方程式x21(modpe)の解は
x{11ifpe=2±1,2e1±1ifpe=2e23±1otherwise(modpe)
で尽くされるので
x21x{(2e11)(2e1+1)1ifpe=2e231otherwise}=δpe(modpe)
を得る。

n!p=δpen/pe(N0)!p(modpe)が成り立つ。

n!p=(i=0n/pe1((i+1)pe)!p(ipe)!p)n!p(nN0)!p((pe)!p)n/pe(N0)!pδpen/pe(N0)!p(modpe)
とわかる。

 (n/pe1)!の素因数分解におけるpの指数をv=j=edn/pjとおくと
n!pvp(n!)δpevj=0d(Nj)!p(modpe)
が成り立つ。

n!p=n!pn/p(n/p)!
であったことおよび通常のLegendreの公式より
n!pvp(n!)=(n/p0)!pj=0dn/pj(n/pd+1)!=j=0d(n/pj)!pn/pj(n/pj+1)!=j=0d(npj)!p
と変形できるので補題8より
n!pvp(n!)j=0dδpenpe+j(Nj)!p=δpevj=0d(Nj)!p(modpe)
を得る。

一般化Lucasの定理(再掲)

nCmpk0δpeke1(Nd)!p(Md)!p(Ld)!p(N1)!p(M1)!p(L1)!p(N0)!p(M0)!p(L0)!p(modpe)
が成り立つ。

 補題6より
nCmpk0=n!pvp(n!)pvp(m!)m!pvp(l!)l!δpej=ed(npjmpjlpj)j=0d(Nj)!p(Mj)!p(Lj)!p(modpe)=δpej=edεj1j=0d(Nj)!p(Mj)!p(Lj)!p=δpeke1j=0d(Nj)!p(Mj)!p(Lj)!p
を得る。

おまけ

 定理9として紹介したように一般化Lucasの定理より強い主張として、v=j=edn/pjとおいたとき
n!pvp(n!)δpevj=0d(Nj)!p(modpe)
という公式が成り立つのでした。
 これを使うと例えば以下のようなことが言えたりします。

 奇素数pと非負整数nに対し、np進数表示を
n=ndnd1n1n0 (p)
とおくと
n!pvp(n!)(1)vp(n!)nd!nd1!n1!n0!(modp)
が成り立つ。

 (1014)!0でない部分の下二桁、つまり
(1014)!10v5((1014)!)(mod100)
を求めたい。
 いま
1014=16384514=1011014(5)10(5)14
より
v=1014(1+1+1+1+4)4=2510122v=10145(1+1+1+1+4)4=510122
とおくと
(1014)!5v(5)(1)v(01)!5(10)!5(01)!5(11)!5(10)!5(01)!5(14)!5(40)!5(mod25)=(10)114!1(64!)4!1(98764!)(25!5/24232221)(10)(4!)425!536/2322(10)36/(2)(3)=6(mod25)
が成り立つので2201(mod25)に注意すると
(1014)!10v62v6221(mod25)
つまり、明らかに(1014)!/10v0(mod4)であること合わせると
(1014)!10v76(mod100)
を得る。

追記:計算の簡略化

 いくつかの例からもわかるように一般化Lucasの定理を使っても法peの指数が高くなるほどその手計算はダルくなっていくわけですが、法p3程度であればウォルステンホルムの定理を使うことで幾ばくか計算を楽にできることに気付いたのでそのことについて簡単に紹介していきます。
 以下p5とします。

ウォルステンホルムの定理

k=1p11k0(modp2)

k=1p11k=12k=1p1(1k+1pk)=p2k=1p11k(pk)p2k=1p11k2p2k=1p1k2p2(p1)(2p1)120(modp2)
とわかる。

1i<j<p1ij0(modp)

(k=1p11k)2=k=1p11k2+21i<j<p1ij
に注意すると
21i<j<p1ij(k=1p1k)2k=1p1k2=p2(p1)24p(p1)(2p1)6=p(p1)(p2)(3p1)120(modp)
とわかる。

np1Cp11(modp3)

x1Cp1=(x1)(x2)(x(p1))(p1)!=(1x)(1x2)(1xp1)=1(k=1p11k)x+(1i<j<p1ij)x2
と展開できることに注意すると補題11,12から
np1Cp11(k=1p11k)np+(1i<j<p1ij)(np)21(modp3)
を得る。

 素数pと非負整数nに対し
n!p=n!(nn0)!
と定める。ただしn0np進数表示における下一桁とした。
 特にp5およびn0=p1のとき
n!p(p1)!(modp3)
が成り立つことに注意する。

 p5において
n!p((p1)!)n/pn!p(modp3)
が成り立つ。

n!p=(i=0n/p1((i+1)p)!p(ip)!p)n!p(nn0)!p=(i=0n/p1(i+1)p1Cp1)((p1)!)n/pn!(nn0)!((p1)!)n/pn!(nn0)!(modp3)
とわかる。

 p5およびe3において
n!pvp(n!)((p1)!)vp(n!)j=0d(Nj)!p(modpe)
が成り立つ。

 定理9の証明から
n!pvp(n!)=j=0d(npj)!p
が成り立っていたので定理14から
n!pvp(n!)j=0d((p1)!)n/pj+1(npj)!p((p1)!)vp(n!)j=0d(Nj)!p(modpe)
を得る。

 p5およびe3において
nCmpk0((p1)!)k0j=0d(Nj)!p(Mj)!p(Lj)!p(modpe)
が成り立つ。

 例えば例3の計算は
2021C3752(5)4!2(03)!5(00)!5(03)!5(31)!5(00)!5(30)!5(10)!5(01)!5(04)!5(04)!5(12)!5(41)!5(41)!5(22)!5(14)!5=(10)4!211614!4!7!512!59!5(10)164!(76)(1112)4!=274999(10)11(mod25)
と簡略化できる。

 また例えば例5の計算は
(1014)!5v(5)4!v(01)!5(10)!5(01)!5(11)!5(10)!5(01)!5(14)!5(40)!5=(10)4!v69!5(10)164!6(mod25)
と簡略化できる。

 ちなみにp=3の場合も
k=121k=320(mod3)
は成り立つので、上と同様の議論によって
3n1C21(mod9)

n!3v3(n!)2v3(n!)j=0d(Nj)!3(mod9)nCm3k02k0j=0d(Nj)!3(Mj)!3(Lj)!3(mod9)
が成り立ちます。

参考文献

投稿日:202131
更新日:20日前
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

子葉
子葉
1129
286521
主に複素解析、代数学、数論を学んでおります。 私の経験上、その証明が簡単に探しても見つからない、英語の文献を漁らないと載ってない、なんて定理の解説を主にやっていきます。 同じ経験をしている人の助けになれば。最近は自分用のノートになっている節があります。

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. Kummerの定理と一般化Lucasの定理
  3. 証明
  4. Kummerの定理
  5. 一般化Lucasの定理
  6. おまけ
  7. 追記:計算の簡略化
  8. 参考文献