Ruby
√(( 7+3√3)( 5+√22)) - √(( 5+ √3)( 7+√22)) = 2
√((23+8√8)( 7+√17)) - √(( 7+2√8)(23+√17)) = 4
√((13+9√2)( 5+√ 7)) - √(( 5+3√2)(13+√ 7)) = 2
√((16+9√3)(11+√13)) - √((11+6√3)(16+√13)) = 1
を以下のコードで見つけ、
http://www.artofproblemsolving.com/community/c4h1142129_curious_equation
で証明した方法で全て(手計算で)確認した。
出力結果
[[5, 2, 4, 1, 3, 13], 1]
[[7, 3, 5, 1, 3, 22], 2]
[[23, 8, 7, 2, 8, 17], 4]
[[13, 9, 5, 3, 2, 7], 2]
[[16, 9, 11, 6, 3, 13], 1]
def square_number?(n)
(Math.sqrt(n).to_i) ** 2 == n
end
M = 10
N = 30
(1..M).each{|f2|
(f2 + 1..M).each{|d|
(2..M).each{|x|
if !square_number?(x)
(x + 1..N).each{|y|
if x.gcd(y) == 1 && !square_number?(y)
(1..N).each{|e2|
(e2 + 1..N).each{|c|
m0 = Math.sqrt(c + d * Math.sqrt(x)) * Math.sqrt(e2 + Math.sqrt(y))
m1 = Math.sqrt(e2 + f2 * Math.sqrt(x)) * Math.sqrt(c + Math.sqrt(y))
z = m0 - m1
p [[c, d, e2, f2, x, y], z.to_i] if (z - z.to_i).abs < 0.0000001 && z > 0
}
}
end
}
end
}
}
}
[[5, 2, 4, 1, 3, 13], 1]
[[7, 3, 5, 1, 3, 22], 2]
[[23, 8, 7, 2, 8, 17], 4]
[[13, 9, 5, 3, 2, 7], 2]
[[16, 9, 11, 6, 3, 13], 1]
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。