近岡です。

ちょっと気になったので、コメントさせてください。

>  豊福です。
>
>  スピード部門はすごすぎるのでシンプル部門にエントリします。
>(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+d == m-a-b かつ c**3-d**3 == a**3-b**3 
  ですから、m3=m-a-b としてやると
        c**3 - (m3-c)**3 == a**3-b**3
  となるので、c は3次方程式
        2*c**3 - 3*m3*c**2 + 3*m3**2*c -m3**3-a**3+b**3 == 0
    の1個しかない実数解です。
  これを利用すれば……(シンプルじゃなくなるのは確かですね)

>      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

0----+----1----+----2----+----3----+----4----+----5----+----6
近岡 宣吉  Chikaoka, Nobuyoshi
富山県立高岡西高等学校(数楽科)
 E-mail : chikaoka-nobuyoshi / tym.ed.jp