If p is the perimeter of a right angle triangle with integral length sides, {a,b,c}, there are exactly three solutions for p = 120.
{20,48,52}, {24,45,51}, {30,40,50}
For which value of p
1000, is the number of solutions maximised?
def p39
sols=Hash.new(0)
(1...500).each do |a|
(1...a).each do |b|
csquared=a*a+b*b
c=Math.sqrt(csquared).to_i
s=a+b+c
sols[s]+=1 if(s <= 1000 and c*c==csquared)
end
end
puts sols.to_a.sort{|u,v|u.last<=>v.last}.last.first
end