豊福です。

  スピード部門はすごすぎるのでシンプル部門にエントリします。
(a+d==b+c (mod 6)使わせてもらいました)

aj = [[0,1,2],[2,0,1],[1,2,0]]
n = 100
m = 10
while (n > 0)
  hm = m/2
  (1..(m-6)/4).each { |a| a3 = a**3
    ((a+1)..(((m2=m-a)-3)/3)).each { |b| b3 = b**3
      # a+b+c+d == m; a+d == b+c (mod 6) => c == m/2-b (mod 3)
      c = b+1; c += aj[c%3][(hm-b)%3]
      upper_c = ((m3=m2-b)-1)/2
      while (c <= upper_c)
        d = m3-c
        if ((s = a3 + d**3) == b3 + c**3)
          p [s, [a,d], [b,c]] 
          exit if ((n -= 1) <= 0)
        end
        c += 3
      end
    }
  }
  m += 2
end
---
                        豊福
                        ttoyofukujp / yahoo.co.jp