Computers and Technology
(Ramanujan's Taxi) Srinivasa Ramanujan indian mathematician who became famous for his intuition for numbers. When the English mathemematician G.H. Hardy came ot visit him in the hospital one day, Hardy remarked that the number if his taxi was 1729, a rather dull number. To which Ramanujan replied, "No, Hardy! It is a very interesting number. It is the smallest number expressible as the sum of two cubes in two different ways." Verify this claim by writing a program Ramanujan.java that takes a command-line argument N and prints out all integers less than or equal to N that can be expressed as the sum of two cubes in two different ways. In other words, find distinct positive integers a, b, c, and d such that 3 + b3 = c3 - d3. Hint: Use four nested for loops, with these bounds on the loop variables: 0 < a < 3N, a < b < 3N - a3, a < c < 3N and c < d < 3N - C3; do not explicitly compute cube roots, and instead use x . x *x < y in place of < Math.cbrt (y). $ javac Ramanujan.java $ java Ramanujan 40000 1729 = 1"3 + 12^3 = 9^3 + 10"3 4104 = 2^3 + 16^3 = 9^3 + 15^3 13832 = 2^3 + 24^3 = 18^3 + 20^3 39312 = 2^3 + 34^3 = 15^3 + 33^3 32832 = 4^3 + 32^3 = 18^3 + 30^3 20683 = 10^3 + 27^3 = 19^3 + 24^3