長いので分割しました。
長文、連レス失礼します

さらに上のコメントの内容を繰り返せば、一桁になるまで桁を落としていけます。
一桁にまでしたときに、上の性質を満たすのは5か6だけなので、上の性質をみたすどんな桁の自然数であっても、その種類は一の位が5か6の物しかないということがわかります。
では逆に、もしある数Xがあったときに、その一番左に数字を付け加えて一つ桁を大きくしたい場合、どのような数字を付け加えれば良いのかを考えてみます。
Xが上の性質を満たすなら、下(n-1)桁に相当する自然数Bも同様の性質を満たさなければいけないことがわかりました。
もう一度二乗の計算を見てみます。
X^2
={A*10^(n-1)+B}^2
=A^2*10^(2n-2)+2AB*10^(n-1)+B^2
下(n-1)桁に関与するのはB^2でこれはBと一致するので
B^2=B+C*10^(n-1)+D*10^n
と書けます。
ここでCはB^2の下からn桁目の数字、Dはそれ以上の部分をまとめて書いたものです。
(例 625^2=390625なら、C=0、D=39となります)
これを上の式に代入していくと、
X^2
=A^2*10^(2n-2)+2AB*10^(n-1)+B+C*10^(n-1)+D*10^n
です。
このうち、下n桁にだけ関連する部分、つまり10^(n-1)までに関連する部分だけを取り出します。
一桁だとAとかBとかという話自体が意味をなさいないので、nは2以上とします。
するとn-1>0だから、2(n-1)>n-1なので、一番最初の項は関連しません。
したがって、関連する部分は
2AB*10^(n-1)+B+C*10^(n-1)
です。
ここで2AB*10^(n-1)で、10^(n-1)に関連するのは2ABの一番下の桁だけとなります。
Bはどんどん桁を落としていけば、最終的に5か6になる、という風に言いましたので、一の位は5か6です。
だから2ABの一の位は2*A*5、あるいは2*A*6の結果と一致します。
改めて、関連する部分を書き直すと、
(一の位が5なら)
(2*A*5)*10^(n-1)+B+C*10^(n-1)
=A*10^n+B+C*10^(n-1)
(一の位が6なら)
(2*A*6)*10^(n-1)+B+C*10^(n-1)
=12*A*10^(n-1)+B+C*10^(n-1)
=(10+2)*A*10^(n-1)+B+C*10^(n-1)
=A*10^n+2*A*10^(n-1)+B+C*10^(n-1)
(一の位が5のとき)
このときはX^2の計算結果で、下n桁に関連する部分は
B+C*10^(n-1)
だけとなります。
これがX=A*10^(n-1)+B
と一致するので、C=Aとなります。
Cは何だったかというと、B^2の計算で下からn桁目に登場した数字でした。
つまり(n-1)桁の自然数Bが上の性質を満たすなら、二乗を計算して、下からn桁目の数字を計算し、それをBの左端に付け加えることで、次の桁で上の性質を満たす数Xを作れる、ということです。
実際、確認してみると…
5→5^2=
25だから2を付け加える。
25→25^2=
625だから6を付け加える。
625→625^2=39
0625だから0を付け加える。
0625→0625^2=3
90625だから9を付け加える。(0625を便宜的に4桁の数と見なしました)
90625→90625^2=8212
890625だから8を付け加える。
890625
…
と、上で挙げられている例と一致しています。
(一の位が6のとき)
このときはX^2の計算結果で、下n桁に関連する部分は
2*A*10^(n-1)+B+C*10^(n-1)
だけとなります。
これがX=A*10^(n-1)+B
と一致するので、2A+C=AつまりA+C=0となります。
実際は2A+CとAの一の位が等しい、ということなので、2A+C=10+AつまりA+C=10と書くとわかりやすくなります。
同様にCはB^2の計算で下からn桁目に登場した数字でした。
つまり(n-1)桁の自然数Bが上の性質を満たすなら、二乗を計算して、下からn桁目の数字を計算します。
ここまでは一の位が5と同じです。
で、出て来た数字を10から引きます。
そうして得られた数字をBの左端に付け加えることで、次の桁で上の性質を満たす数Xを作れる、ということです。
実際、確認してみると…
6→6^2=
36だから10-3=7を付け加える。
76→76^2=5
776だから10-7=3を付け加える。
376→376^2=14
1376だから10-1=9を付け加える。
9376→9376^2=879
09376だから10-0=10だが、もともと2A+CとAの一の位が等しいという条件だったので、0を付け加える。
09376→09376^2=87
909376だから10-9=1を付け加える。(09376を便宜的に5桁の数と見なしました)
109376→109376^2=1196
3109376だから10-3=7を付け加える。
7109376
…
と、上で挙げられている例と一致しています。
試しにマキチャンさんが出した数字の次の数字を求めて見ます。
一の位が5のものは、
12890625^2=166168
212890625だから2を付け加えて、212890625が次の桁の数字です。
一の位が6のものは、
7109376^2=505432
27109376だから10-2=8を付け加えて、87109376が次の桁の数字です。
パソコンでは桁がそろそろ限界に来ましたので、ここからはプログラムを組む必要があるかもしれませんね

このように一つ上の桁は一意に決まるので、一の位が5のもの、一の位が6のものは、最初の一桁の数字である5と6からすべて作っていけるはずで、桁数を固定すればせいぜい二つしかないことも分かります。
長文、連レス失礼します
さらに上のコメントの内容を繰り返せば、一桁になるまで桁を落としていけます。
一桁にまでしたときに、上の性質を満たすのは5か6だけなので、上の性質をみたすどんな桁の自然数であっても、その種類は一の位が5か6の物しかないということがわかります。
では逆に、もしある数Xがあったときに、その一番左に数字を付け加えて一つ桁を大きくしたい場合、どのような数字を付け加えれば良いのかを考えてみます。
Xが上の性質を満たすなら、下(n-1)桁に相当する自然数Bも同様の性質を満たさなければいけないことがわかりました。
もう一度二乗の計算を見てみます。
X^2
={A*10^(n-1)+B}^2
=A^2*10^(2n-2)+2AB*10^(n-1)+B^2
下(n-1)桁に関与するのはB^2でこれはBと一致するので
B^2=B+C*10^(n-1)+D*10^n
と書けます。
ここでCはB^2の下からn桁目の数字、Dはそれ以上の部分をまとめて書いたものです。
(例 625^2=390625なら、C=0、D=39となります)
これを上の式に代入していくと、
X^2
=A^2*10^(2n-2)+2AB*10^(n-1)+B+C*10^(n-1)+D*10^n
です。
このうち、下n桁にだけ関連する部分、つまり10^(n-1)までに関連する部分だけを取り出します。
一桁だとAとかBとかという話自体が意味をなさいないので、nは2以上とします。
するとn-1>0だから、2(n-1)>n-1なので、一番最初の項は関連しません。
したがって、関連する部分は
2AB*10^(n-1)+B+C*10^(n-1)
です。
ここで2AB*10^(n-1)で、10^(n-1)に関連するのは2ABの一番下の桁だけとなります。
Bはどんどん桁を落としていけば、最終的に5か6になる、という風に言いましたので、一の位は5か6です。
だから2ABの一の位は2*A*5、あるいは2*A*6の結果と一致します。
改めて、関連する部分を書き直すと、
(一の位が5なら)
(2*A*5)*10^(n-1)+B+C*10^(n-1)
=A*10^n+B+C*10^(n-1)
(一の位が6なら)
(2*A*6)*10^(n-1)+B+C*10^(n-1)
=12*A*10^(n-1)+B+C*10^(n-1)
=(10+2)*A*10^(n-1)+B+C*10^(n-1)
=A*10^n+2*A*10^(n-1)+B+C*10^(n-1)
(一の位が5のとき)
このときはX^2の計算結果で、下n桁に関連する部分は
B+C*10^(n-1)
だけとなります。
これがX=A*10^(n-1)+B
と一致するので、C=Aとなります。
Cは何だったかというと、B^2の計算で下からn桁目に登場した数字でした。
つまり(n-1)桁の自然数Bが上の性質を満たすなら、二乗を計算して、下からn桁目の数字を計算し、それをBの左端に付け加えることで、次の桁で上の性質を満たす数Xを作れる、ということです。
実際、確認してみると…
5→5^2=25だから2を付け加える。
25→25^2=625だから6を付け加える。
625→625^2=390625だから0を付け加える。
0625→0625^2=390625だから9を付け加える。(0625を便宜的に4桁の数と見なしました)
90625→90625^2=8212890625だから8を付け加える。
890625
…
と、上で挙げられている例と一致しています。
(一の位が6のとき)
このときはX^2の計算結果で、下n桁に関連する部分は
2*A*10^(n-1)+B+C*10^(n-1)
だけとなります。
これがX=A*10^(n-1)+B
と一致するので、2A+C=AつまりA+C=0となります。
実際は2A+CとAの一の位が等しい、ということなので、2A+C=10+AつまりA+C=10と書くとわかりやすくなります。
同様にCはB^2の計算で下からn桁目に登場した数字でした。
つまり(n-1)桁の自然数Bが上の性質を満たすなら、二乗を計算して、下からn桁目の数字を計算します。
ここまでは一の位が5と同じです。
で、出て来た数字を10から引きます。
そうして得られた数字をBの左端に付け加えることで、次の桁で上の性質を満たす数Xを作れる、ということです。
実際、確認してみると…
6→6^2=36だから10-3=7を付け加える。
76→76^2=5776だから10-7=3を付け加える。
376→376^2=141376だから10-1=9を付け加える。
9376→9376^2=87909376だから10-0=10だが、もともと2A+CとAの一の位が等しいという条件だったので、0を付け加える。
09376→09376^2=87909376だから10-9=1を付け加える。(09376を便宜的に5桁の数と見なしました)
109376→109376^2=11963109376だから10-3=7を付け加える。
7109376
…
と、上で挙げられている例と一致しています。
試しにマキチャンさんが出した数字の次の数字を求めて見ます。
一の位が5のものは、
12890625^2=166168212890625だから2を付け加えて、212890625が次の桁の数字です。
一の位が6のものは、
7109376^2=50543227109376だから10-2=8を付け加えて、87109376が次の桁の数字です。
パソコンでは桁がそろそろ限界に来ましたので、ここからはプログラムを組む必要があるかもしれませんね
このように一つ上の桁は一意に決まるので、一の位が5のもの、一の位が6のものは、最初の一桁の数字である5と6からすべて作っていけるはずで、桁数を固定すればせいぜい二つしかないことも分かります。