I have an expression for which I want ot find values of n that will make it an integer. Here is the expression:

(n^(3/2) - n)^(1/3)
n^(1/2) - n^(1/3)

I want to find all positive values of n for which the above expression will be an Integer. Can I do that with Mathematica?


  • 1
    $\begingroup$ You can use "Reduce: "Reduce[{b == (n^(3/2) - n)^(1/3), n > 0, b [Element] Integers}]". This gives an answer using a root object. This is a shorthand for the roots of the enclose polynomial. If you want to transform it to radicals, you give to output to: "ToRadicals" $\endgroup$ Nov 8, 2020 at 20:00

1 Answer 1


Using InverseFunction

f := Evaluate@InverseFunction[(#^(3/2) - #)^(1/3) &]

a = N[f /@ Range[3]]

{2.1479, 5.73535, 11.3776}

The above values will produce integers, e.g.

(#^(3/2) - #)^(1/3) & /@ a

{1., 2., 3.}

  • $\begingroup$ Instead of f := Evaluate@InverseFunction[... you could simply write f = InverseFunction[.... $\endgroup$
    – Roman
    Nov 8, 2020 at 21:05
  • $\begingroup$ @Roman Ah, yes. With Set rather than SetDelayed. $\endgroup$ Nov 8, 2020 at 21:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.