見出し画像

2023年 年賀詰 解答

Twitterで年賀詰をツイートしました。本記事で解答を記載します。

https://twitter.com/smallsetminus/status/1610186359926591489?s=20&t=zx5lBZuOPZJKS36WSnkamQ

https://twitter.com/smallsetminus/status/1610228485204873217?s=20&t=zx5lBZuOPZJKS36WSnkamQ

問題

最後の1ピース 多玉協力詰 1手
※攻方持駒に r-Leaper を1枚追加する( r:非負実数)

補足
盤は 2080×3400 の大きさ。
盤上に2つの玉以外の駒はない。
「多玉協力詰 1手」の完全作になるように、r を決定する。

ルール説明
【協力詰】
先後協力して最短手数で受方の玉を詰める。
【多玉】
複数の玉を使用する。
どの玉に対しても王手放置は禁手。
王手を外せなければ詰み。
【最後の1ピース】
出題図に指定された枚数の駒を追加して指定されたルール・手数の完全作にする。
【r-Leaper】
距離 r のマスに跳ぶ駒。
詳細は下記をご参照ください。

解答

まず、$${r\textrm{-Leaper}}$$をどこに打って詰め上がりになるか考える。
2080筋・1705段の玉がいる地点を原点として、下図のように$${xy}$$平面を導入する。

もう一つの玉は$${(2079,105)}$$にある。この地点を$${A}$$とする。盤の範囲は画像の水色の部分、すなわち$${0\le x\le 2079}$$かつ$${-1695\le y\le 1704}$$となる。

$${r\textrm{-Leaper}}$$を打って両方の玉に王手が掛かる場所は、点$${O}$$からの距離と点$${A}$$からの距離が一致する地点である。つまり、線分$${OA}$$の垂直二等分線上の格子点($${x,y}$$座標がともに整数の点)にそれぞれ適切な$${r\textrm{-Leaper}}$$を打てば、詰みとなる。

線分$${OA}$$の中点を$${M=(2079/2,105/2)}$$、線分$${OA}$$の垂直二等分線を直線$${\ell}$$とする。直線$${\ell}$$の格子点を求める。

直線$${\ell}$$は線分$${OA}$$に垂直で点$${M}$$を通るので、$${\ell}$$上の点$${(x,y)}$$は

$$
2079\left( x-\frac{2079}{2}\right) +105\left(y-\frac{105}{2}\right) = 0
$$

を満たす。整理して、

$$
99x + 5y = 103173 \ \ \ (\ast)
$$

となる。上記の整数解を求める。

$${x=2,y=20595}$$は解の一つであるから、$${99\cdot 2+5\cdot 20595=103173}$$が成り立つ。$${(\ast)}$$からこれを引くことにより、

$$
99(x-2)+5(y-20595)=0
$$

を得る。$${99}$$と$${5}$$は互いに素だから、$${x-2}$$は$${5}$$の倍数。よって、整数$${n}$$を用いて$${x=5n-2}$$と書ける。これを$${(\ast)}$$に代入し、$${y=-99n+20959}$$が分かる。結局$${(\ast)}$$の整数解は下記である。

$$
\begin{cases}
x=5n-2 \\
y=-99n+20959
\end{cases}
\ \ \ (n \in \Z)
$$

盤の範囲は有限のため、上記の整数解が盤の内側であるためには下記を満たす必要がある。

$$
\begin{cases}
0 \le x \le 2079 \\
-1695\le y\le 1704
\end{cases}
\ \ \ \ (\bigstar)
$$

一方、$${\ell}$$上の格子点$${(x_1,y_1)}$$と原点の距離が$${r}$$のとき、点$${M}$$を挟んでちょうど反対側の点(下記画像の$${(x_2,y_2)}$$)も原点との距離が$${r}$$の格子点である。※$${M}$$は格子点ではないことに注意

$${(x_1,y_1)}$$と$${(x_2,y_2)}$$がともに盤上の領域にあるような$${r}$$を選んだ場合、「多玉協力詰 1手」として解が少なくとも2つ存在することになる。

よって、「多玉協力詰 1手」として解を唯一にするためには、下記を満たす$${(x_1,y_1)}$$を見つける必要がある。

  1. $${(x_1,y_1)}$$は$${(\ast)}$$の整数解であって、$${(\bigstar)}$$を満たす
    →詰みがあることに対応(余詰の有無は問わない)

  2. 点$${M}$$を挟んで$${(x_1,y_1)}$$の反対側の点$${(x_2,y_2)}$$は$${(\bigstar)}$$を満たさない
    →解が唯一であることに対応

2の条件を考える。$${(x_1,y_1)}$$から$${M}$$までの距離と、$${(x_2,y_2)}$$から$${M}$$までの距離が等しいので、

$$
x_2 - \frac{2079}{2} = \frac{2079}{2} + x_1
$$

および

$$
y_2 - \frac{105}{2} = \frac{105}{2} + y_1
$$

が成り立つ。整理して、$${x_2=2079-x_1}$$、$${y_2=105-y_1}$$となる。

$${(x_2,y_2)}$$が$${(\bigstar)}$$を満たさないことは、$${x_2\notin [0,2079]}$$または$${y_2\notin [-1695,1704]}$$と同値である。これを$${x_1,y_1}$$の条件式として整理すると、

$$
\begin{cases}
2079 < x_1 &\text{または} \\
x_1 < 0  &\text{または} \\
1800 < y_1 &\text{または} \\
y_1 < -1599
\end{cases}
$$

となる。さらに$${(x_1,y_1)}$$が$${(\bigstar)}$$を満たすとすれば、上から3つの条件はいずれも満たし得ないので、$${y_1 < -1599}$$を満たすしかない。

以上まとめると、解が唯一になるような$${r\textrm{-Leaper}}$$の打ち場所$${(x,y)}$$は、整数$${n}$$を用いて

$$
\begin{cases}
x=5n-2 \\
y=-99n+20959
\end{cases}
$$

と書け、下記を満たす必要がある。

$$
\begin{cases}
0 \le x \le 2079 \\
-1695 \le y < -1599
\end{cases}
$$

$${-1695 \le y < -1599}$$に$${y=-99n+20959}$$を代入して整理すると、

$$
\begin{align*}
22194 < 99n & \le 22290 \\
224.18\cdots < n & \le 225.15\cdots
\end{align*}
$$

となる。これを満たす整数$${n}$$は$${n=225}$$しかない。このとき、

$$
\begin{cases}
x=1127 \\
y=-1680
\end{cases}
$$

である。この$${(x,y)}$$から原点までの距離が追加すべき$${r\textrm{-Leaper}}$$の$${r}$$である。よって、

$$
\begin{align*}
r^2 &= {1127}^2 + (-1680)^2 \\
  &= 4092529 \\
  &= {2023}^2
\end{align*}
$$

すなわち$${r=2023}$$である。

$${(1127,-1680)}$$を元々の詰将棋の表記で書けば、953筋・3385段である。以上より、最後の1ピースの解答は

追加配置:攻方持駒に$${2023\textrm{-Leaper}}$$を追加
詰手順:953筋・3385段・$${2023\textrm{-Leaper}}$$迄1手

となる。

なお、$${2023^2}$$を$${2}$$つの平方数の和に分解するパターンは、和の順序や符号の違いを除いて下記$${2}$$通りしかない。

$$
\begin{align*}
2023^2 &= 1127^2 + 1680^2 \\
              &= 952^2 + 1785^2 \\
\end{align*}
$$

補足

自然数を高々二個の平方数の和で表す方法の数は、ヤコビの二平方定理で求めることができます。

定理(ヤコビの二平方定理)
自然数$${n}$$を高々二個の平方数の和で表す方法の数は、

$$
r_2(n) = 4\sum_{2\nmid{d}\mid{n}}(-1)^{\frac{d-1}{2}}
$$

で与えられる。ただし、和は$${n}$$の約数のうち奇数のものについて取る。

$${\square}$$

なお上記は、平方数の和の順序や符号をすべて区別して数えたときの表現方法の個数です。

$${d}$$は奇数なので、$${d}$$を$${4}$$で割った余りは$${1}$$か$${3}$$のどちらかです。$${\sum}$$の中身をそれぞれの場合で計算してみると、

$$
\def\arraystretch{1.5}
\begin{array}{c|cc}
d & 4m+1 & 4m+3 \\ \hline 
d-1 & 4m & 4m+2 \\
(d-1)/2 & 2m & 2m+1 \\ 
(-1)^{(d-1)/2} & 1 & -1
\end{array}
$$

となります。つまり、

$$
\begin{align*}
r_2(n) = 4\big( & (4で割って余りが1であるnの約数の個数)  \\
    &-(4で割って余りが3であるnの約数の個数) \big) 
\end{align*}
$$

となります。

例として、$${r_2(2023^2)}$$を計算してみましょう。

$${2023=7\cdot17^2}$$から$${2023^2}$$の約数を計算し、それぞれを$${4}$$で割ったときの余りは下表のようになります。

$$
\def\arraystretch{1.5}
\begin{array}{r|c}
d & 4で割った余り \\ \hline 
1 & 1 \\
7 & 3 \\
17 & 1 \\
49 & 1 \\
119 & 3 \\
289 & 1 \\
833 & 1 \\
2023 & 3 \\
4913 & 1 \\
14161 & 1 \\
34391 & 3 \\
83521 & 1 \\
240737 & 1 \\
584647 & 3 \\
4092529 & 1
\end{array}
$$

余り$${1}$$の約数が$${10}$$個、余り$${3}$$の約数が$${5}$$個なので、

$$
r_2(n) = 4(10-5)=20
$$

となります。

実際、$${2023^2}$$を高々2個の平方数の和で表す方法は、

$$
\begin{align*}
& \ 2023^2 \\
= & \ (\pm 2023)^2 + 0^2 \\
= & \ 0^2 + (\pm 2023)^2 \\ 
= & \ (\pm 952)^2 + (\pm 1785)^2 \\
= & \ (\pm 1785)^2 + (\pm 952)^2 \\
= & \ (\pm 1127)^2 + (\pm 1680)^2 \\
= & \ (\pm 1680)^2 + (\pm 1127)^2 
\end{align*}
$$

の$${20}$$通りです。

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