-module(futurama). -export([cube/1, taxicab/1]). cube(X) -> X * X * X. taxicab(N) -> [{ cube(A) + cube(B), {A, B}, {C, D} } || A <- lists:seq(1,N), B <- lists:seq((A+1),N), C <- lists:seq((A+1),N), D <- lists:seq((C+1),N), (cube(A) + cube(B)) == (cube(C) + cube(D))].