b進数の問題

こんにちは。岩倉です。
ある年の、とある国の数学オリンピックの問題が面白かったので紹介します。

問)
6より大きな整数bであって、b進数で表された数"5654"が素数の累乗であるようなものを全て求めよ。

まずは、b進数で5654と表される数を、扱いやすくするために置き換えます。
10進数で表現すると5*b^3+6*b^2+5b+4となるので、これをbの関数と見立ててB(b)とします。

つまり、
B(b)=5*b^3+6*b^2+5b+4

これが素数の累乗となるものを求めれば良いのですが、まだとっかかりにくいので、bが奇数の場合と偶数の場合とで分けて考えてみます。

・bが奇数の場合
第一項は奇数、第二項は偶数、第三項は奇数となるため、Bは偶数

・bが偶数の場合
全ての項が偶数となるため、Bは偶数

従って、bによらずBは常に偶数となることがわかりました。
これが素数の累乗となれば良いのですが、素数の累乗が偶数となるのはその素数が2の場合のみです。
つまりこの問題は、Bが2の累乗となるものを全て求めることと同義です。

では、さらにBを詳しくみていきましょう。

B(b)=5*b^3+6*b^2+5b+4
これを因数分解すると、
B(b)=(b+1)(5*b^2+b+4)
となります。

Bが2の累乗ということは、
b+1も5*b^2+b+4も、1もしくは2の累乗となる必要があります。
ここで、b>6なのでどちらの項も2の累乗となるbを求めれば良いことがわかります。

b+1が2の累乗となるので、b+1=2^m(mは3以上の自然数)とすると、b=2^m-1と表すことができます。

また、5*b^2+b+4をB'(b)とおくと、
B'(b)= 5*b^2+b+4
となります。

これにb=2^m-1を代入すると、
B'(m)= 5*(2^m-1)^2+(2^m-1)+4
=5*(2^2m-2*2^m+1)+(2^m-1)+4
=2^m(5*2^m-9)+8
=2^3*(2^(m-3)*(5*2^m-9)+1)
となるため、
2^(m-3)*(5*2^m-9)+1が2の累乗となるmを求めれば良いということになります。

これをB''(m)とおくと、
B''(m)= 2^(m-3)*(5*2^m-9)+1
となります。

2^(m-3)はmが4以上の場合は偶数となるため、第一項は偶数となり、B''は奇数となってしまいます。
そのためm=3の場合のみ考えれば良いです。

m=3の場合、b=7となり、B(7)=2024=2^11となり条件を満たします。

よって、この問題で求めるべきbは7のみといえます。



一見とっつきにくい整数問題ですが、難しい計算が必要なく、整数の基本的な規則を組み合わせれば導き出せる、というところに問題の完成度の高さを感じます。

数学は美しいですね。

岩倉隆詞

この記事が気に入ったらサポートをしてみませんか?