X*x + x*x*x = y^2
So, x^2 + x^3 = y^2
So, x^2(x +1) = y^2
So, x* root(x+1) = y [Sqroot both sides]
For y to be an integer, root(x+1) has to be an integer. So x is a predecessor of a perfect square.
There you go...
To answer the question, there would be 9 such integers, namely 3, 8, 15, 24, 35, 48, 63, 80, 99...