隣接2項がピタゴラス数になる数列

 投稿者:山中和義  投稿日:2012年 5月20日(日)14時02分37秒
  100項すべて求めるには、PCパワーがかなり必要である。


!問題
!次の条件を満たすような100個の相異なる正整数の数列 a[1],a[2], … ,a[100]
!が存在することを証明せよ。
!
!(条件) 99以下のすべての正整数nに対して、(a[n])^2 + (a[n+1])^2 は平方数である。

!参考サイト
! http://oeis.org/A076672 並び 6,…
! http://oeis.org/A076674 並び 9,…
! http://oeis.org/A076676 並び 11,…

!答え
!0<a[1]<a[2]<a[3]<a[4]<a[5]< … となる増加列を考える。
!
!a[1]^2  a[2]^2  p^2
!a[2]^2  a[3]^2  q^2
!a[3]^2  a[4]^2  r^2
!a[4]^2  a[5]^2  s^2
!   :
!
!実際に、いくつかの並びを求めてみる。
! 1,…
! 2,…
! 3,4,… 下記の4から始まる並びに吸収される
! 4,…
!
!一般に、a[1]≧5(予想)では、いずれかの並びに吸収されて、無限に増加列がつくれる。
! 5,12,…  12から始まる並び
! 6,8,…  8から始まる並び
! 7,24,…  24から始まる並び
! 8,15,…  15から始まる並び
! 9,12,…  12から始まる並び
! 10,24,…  24から始まる並び
! 11,60,…  60から始まる並び
! 12,16,…  16から始まる並び
!  :
! 15,20,…  20から始まる並び
! 16,30,…  30から始まる並び
!  :
!
!したがって、a[1]<a[2] すなわち、A=1,2,3,4,…として、
!A<BかつA^2+B^2=P^2となるBを探せばよい。
!
!実際に、数の並びの生成を考察してみる。
!
!自然数m,nかつm>nとして、(m^2-n^2, 2mn, m^2+n^2)は、ピタゴラス数をつくるので、
!(A,B,P)=(m^2-n^2, 2mn, m^2+n^2)または(2mn, m^2-n^2, m^2+n^2)を考える。
!Aが1の場合、ピタゴラス数はない。
!Aが素数
! Aが2の場合、ピタゴラス数はない。
! 奇素数
!  A=m^2-n^2の形で、A=(m+n)(m-n)=p*1より、m=(p+1)/2, n=(p-1)/2
!  このとき、mとnは互いに素なので、既約なピタゴラス数をつくる。
!Aが合成数
! Aが奇数
!  A=m^2-n^2の形で、A=(m+n)(m-n)=s*t(s,tは奇数かつs>t)より、
!  m=(s+t)/2, n=(s-t)/2とするピタゴラス数をつくる(つくれる)。
!  または、既約なピタゴラス数のk倍(p*k,q*k,r*k)
! Aが偶数
!  Aが4の場合、ピタゴラス数はない。
!  A≧6の場合、
!   A=2mnの形で、ピタゴラス数をつくる(つくれる)。
!   または、既約なピタゴラス数のk倍(p*k,q*k,r*k)
!
!とすれば良さそうである。

OPTION ARITHMETIC RATIONAL !多桁整数

LET A=6 !a[1]

LET K=0 !個数
DO WHILE K<100
   LET B=A+1 !a[2] ※a[n]<a[n+1]
   LET T=2*A*B+1 !A^2+B^2=A^2+(A+1)^2=2A(A+1)+1=2AB+1

   DO !A<Bとして、A^2+B^2=P^2となるBを探す
      LET P=INTSQR(T)
      IF P*P=T THEN EXIT DO !平方数なら

      !ピタゴラス数
      LET T=T+2*B+1 !A^2+(B+1)^2=(A^2+B^2)+2B+1
      LET B=B+1
   LOOP

   LET K=K+1 !結果を表示する
   PRINT STR$(K);": "; A;B;P; T

   LET A=B !a[2],a[3],…
LOOP

END

 

Re: 隣接2項がピタゴラス数になる数列

 投稿者:山中和義  投稿日:2012年 5月21日(月)10時49分1秒
  > No.1878[元記事へ]

> 問題
> 次の条件を満たすような100個の相異なる正整数の数列 a[1],a[2], … ,a[100]
> が存在することを証明せよ。
>
> (条件) 99以下のすべての正整数nに対して、(a[n])^2 + (a[n+1])^2 は平方数である。

数学的には、
 a,b,cはピタゴラス数、すなわちa^2+b^2=c^2を満たすとして、
 初項a^99、公比(b/a)の等比数列を考える。
 n項目は、b^(n-1)*a^(100-n)となる。
 具体的には、a^99, b*a^98, b^2*a^97, … , b^98*a, b^99 の100項となる。
とすればよい。
(証明)
a^2+b^2=c^2なので、そのk倍、すなわちk*(a^2+b^2)=k*c^2もピタゴラス数となる。
k={b^(n-1)*a^(100-n)}^2、n=1,2,3,…,100 とすると、
左辺
=k*(a^2+b^2)
={b^(n-1)*a^(100-n)}^2*(a^2+b^2)
={ b^(n-1)*a^(100-n)*a }^2 + { b^(n-1)*a^(100-n)*b }^2
={ b^(n-1)*a^(100-n) *a }^2 + { {b^(n-1)*a^(100-n)*(b/a)} *a }^2
右辺
={b^(n-1)*a^(100-n)*c}^2
1番目の項は第n項で、2番目の項は第(n+1)項を表す式と考えれば、
b^(n-1)*a^(100-n)は、公比(b/a)の等比数列を表す。
(終り)

かなり大きな数ですが、機械的に生成できます。
 

戻る