tsujimotterのノートブック

日曜数学者 tsujimotter の「趣味で数学」実践ノート

「増税問題」が解決しました

増税問題は「消費税の増税に伴って総額表示に現れるようになった新しい数はどのような数か?」という数学の問題のことで、次の記事で問題提起しました。
tsujimotter.hatenablog.com

記事を公開してみると、早速 id:asangi_a4ac さんによる鮮やかな解答が寄せられ、 S_{0.1}\setminus S_{0.08} の数が  \bmod{11\times 27} で特徴づけられることが明らかになりました。id:asangi_a4ac さんありがとうございます。
asangi-a4ac.hateblo.jp


まずは上記の記事を読んでいただきたいです。本記事では、上記の記事の証明のキーポイントを振り返りつつ、さらなる一般化をはかりたいと思います。実は、上記のアイデアはそのまま一般化できる素晴らしいものだからです。

消費税10%の場合

 \alpha = 0.10 とします。

任意の自然数は、 n = 10k + k' k' = 0, \ldots, 9)と、一意的に表すことができます。

これを使って  \lfloor (1+\alpha)n\rfloor を計算しましょう。

 \lfloor (1+\alpha)n\rfloor = \lfloor 11k + 1.1k'\rfloor = 11k + \lfloor 1.1k'\rfloor

ここで、ガウス記号の性質  \lfloor N + x \rfloor = N + \lfloor x \rfloor を用いました( N は整数とします)。

最右辺は  11 の倍数と  \lfloor 1.1k'\rfloor の和になっています。取りうる  k' の値は  10 通りであり、よってこの式によってすべての自然数を表すことができません。具体的には  11k + 10 型の自然数が表せないことになります。

消費税8%の場合

 \alpha = 0.08 とします。

任意の自然数は、 n = 25k + k' k' = 0, \ldots, 24)と、一意的に表すことができます。
 25 をなぜチョイスしたかについては、後で述べます。)

これを使って  \lfloor (1+\alpha)n\rfloor を計算しましょう。

 \lfloor (1+\alpha)n\rfloor = \lfloor 27k + 1.08k'\rfloor = 27k + \lfloor 1.08k'\rfloor

最右辺は  27 の倍数と  \lfloor 1.08k'\rfloor の和になっています。取りうる  k' の値は  25 通りであり、よってこの式によってすべての自然数を表すことができません。具体的には  27k + 13, \; 27k + 26 型の自然数が表せないことになります。

一般化

あとは上記の集合を適当に考えればめでたく元々の増税問題は解決するわけです。

この方針をさらに推し進めると、一般の  \alpha \in \mathbb{Q} について  S_{\alpha} を特徴づけることができることに気づきます。


 \alpha は有理数なので、互いに素な  P, Q を用いて  \alpha = \frac{P}{Q} と表すことができます。たとえば、 \alpha = 0.08 であれば、 P = 2, \; Q = 25 ですね。

ここで、 n = Q k + k' k' = 0, \ldots, Q - 1)と一意的に表せることに気づくと、

 \lfloor (1+\alpha)n\rfloor = \lfloor (Q + P)k + (1+\alpha)k'\rfloor = (P+Q)k + \lfloor (1+\alpha)k'\rfloor

とできます。最右辺は  P + Q の倍数と  \lfloor (1+\alpha)k'\rfloor の和となっており、取りうる値は  Q 通りです。したがって、 \bmod{P+Q} の数のうち  P 個の数を表すことができません。


 \alpha = 0.08 のときに  \bmod{27} を考えたのは、 P + Q = 2 + 25 = 27 ということだったというわけですね。

次の問題へ

このように一般化できたので、@toku51nさんによる次の問題に進みましょう。


問題:消費税は3%,5%,8%,10%と上がっていきましたが、この4種どれでも存在しない最小の税込価格はいくらでしょう?


 \alpha = 0.03, \; 0.05 についても同様に考えればよいでしょう。

 \alpha = 0.03 のとき、 P = 3, \; Q = 100 と書けるので、 {P+Q} = 103 で割ったあまりで  S_{0.03} は決まる。実際、

 103k + 34, \; 103k + 68, \; 103k + 102

と表せる数が総額表示に存在しない数である。

 \alpha = 0.05 のとき、 P = 1, \; Q = 20 と書けるので、 {P+Q} = 21 で割ったあまりで  S_{0.05} は決まる。実際、

 21k + 20

と表せる数が総額表示に存在しない数である。


よって、@toku51nさんの問題の解は、連立一次合同式

 \begin{cases} n \equiv 34, \; 68, \; 102 \pmod{103} \\
n \equiv 20 \pmod{21} \\
n \equiv 13, \; 26 \pmod{27} \\
n \equiv 10 \pmod{11} \end{cases}

を解けばよいとわかります。


ここで、気にしなければならないのは、2番目と3番目です。 21 = 3\cdot 7, \; 27 = 3^3 であり、 3 を共通因数に持つため、単純に中国剰余定理が使えません。

最小公倍数  \operatorname{lcm}(21, 27) = 189 で割ったあまりを考えると、 n\equiv 20 \pmod{21} の方は

 n \equiv 20, 41, 62, 83, 104, 125, 146, 167, 188 \pmod{189}

となり、 n \equiv 13, \; 26 \pmod{27} の方は

 n \equiv 13, 26, 40, 53, 67, 80, 94, 107, 121, 134, 148, 161, 175, 188 \pmod{189}

となります。両者の共通部分をとると  n \equiv 188 \pmod{189} となります。


結局、連立一次合同式が

 \begin{cases} n \equiv 34, \; 68, \; 102 \pmod{103} \\
n \equiv 188 \pmod{189} \\
n \equiv 10 \pmod{11} \end{cases}

に帰着できました。


 103, \; 189, \; 11 はすべて互いに素なので、中国剰余定理より

 103 \times 189 \times 11 = 214137

を法として3つの解が定まります。


実際計算してみると

 n \equiv 97712, 195425, 214136 \pmod{214137}

が得られます。これが、3%, 5%, 8%, 10% の総額表示で存在しない数の条件になります。


最小の数は  n = 97712 ですね!


すっきり解決ということで、それでは今日はこの辺で!


最後になりましたが、問題の解答を寄せてくださった id:asangi_a4ac さん、拡張問題を考えてくださった @toku51nさん ありがとうございました。