
これをPythonで解くと次のようになる。

結果は2,6,22となる。
まず、平方根の計算をするのでmathをインポートする。
nを1~100までで平方根が整数になるものを見つけている。
ちょっと考えればnは45より大きくないことが分かるが、適当に大きい値を選べばよい。このプログラムでは100以下だろうと予測した。
不安ならもっとでっかい数字にすればよい。
真面目な解き方
√(n^2+45)=mとおいて
n^2+45=m^2
m^2-n^2=45
(m+n)(m-n)=45
(m+n,m-n)=(45,1),(15,3),(9,5)の3種類
m+n=45,m-n=1のとき、m=23,n=22
m+n=15,m-n=3のとき、m=9,n=6
m+n=9,m-n=5のとき、m=7,n=2
答え、n=2,6,22