>>88

(m+1)(m-1)=2^n

m=2のときをまずチャックする。
3・1 = 3 これは2で割り切れない。解なし。

 m>2のときは、 m-1>1 ですから、

a, bを a>b>0なる整数として、

m+1 = 2^a かつ m-1 =2^b を満たすa,b,mの組が存在します。

(m+1)−(m-1) = 2^a−2^b (引きました)
  2= 2^a-2^b

もし b≧2 とすれば、 a>b≧2 より、
  右辺は 2^2=4で割り切れますが、
  左辺は4で割り切れません。
  したがって b=1で確定。

m-1 =2^b でしたから、 m=3
  これに対して、 n=3が確定。
これが唯一の解です。