A bit of logic programming in core.logic:<p>(defn cubo [a r] (fresh [a1] (<i>fd a a a1) (</i>fd a a1 r)))<p>(defn taxi-cab [n]
(run* [q] (fresh [a ac b bc] (infd a b (interval 1 (int (java.lang.Math/cbrt n)) )) (infd ac bc (interval 0 n)) (cubo a ac) (cubo b bc) (+fd ac bc n) (== q [a b]))))<p>NOTE: FYI, could be made more efficient.