原です。

某 T さんから次のような解をもらいました。

ans_set = []
                                                                               max_num = 100
max_num.times {|i|
  max_num.times {|j|
    max_num.times {|k|
       max_num.times {|l|
         lhs = i**3 + j**3
         rhs = k**3 + l**3
         if lhs == rhs && i!=j && i!=k && i!=l && j!=k && j!=l && k!=l then
            if ! ans_set.find { |t| t == lhs } then
               print "#{lhs} = #{i}**3 + #{j}**3 = #{k}**3 + #{l}**3\n"
               ans_set << lhs
            end
         end
       }
     }
  }
}

非常にシンプル明快です。問題は、遅い事。3組以上等しい和を
持つものがある時、3組目以降がでて来ない事でしょうか。

後 max_num が 100 で足りない可能性がある事。でも、やってみ
れば実際足りてるので、それで構わないんですが。