We consider only polynomial with integer coefficients. We know how to determine the first perfect square value but we don't know how to determine subsequent perfect square values except by testing every single value of the variable x.
As an example we have p(x) = 9 x^2 + 13x + 2. we have p(x)=64 for x=2. We can see that there are no other values of x < 2 for which p(x) takes a perfect square value by simply testing x=1 and x=0. We don't want to test every single value.
Given the value of the variable x that produced the perfect square value of the polynomial, is there a method or an algorithm or a test that can tell us that there is no other value smaller than x that will produce another perfect square value of the polynomial?
As an example where p(x) can take a perfect square value more than once, we have p(x) = 9x^2 + 13x + 1. p(x)=121 for x=3 and p(x)=1 for x=0.
To explore the equation $$y^2=9x^2+13x+2$$ first multiply by $36=4\times 9$ to obtain $$(6y)^2=4\cdot(9x)^2+4\cdot 13\cdot9x+72=(18x+13)^2-97$$ so that $$(18x+13)^2-(6y)^2=(18x+6y+13)(18x-6y+13)=97$$
For integer solutions you have that $97$ is prime, so the factors are $1$ and $97$ or $-1$ and $-97$. Either way the difference between the factors is $12y=\pm96$ so that $y=\pm8$ and $x$ must be a solution of $9x^2+13x+2=64$. From there you have:
$$(9x+31)(x-2)=9x^2+13x-62$$
For $y^2=a^2x^2+bx+c$ multiply by $4a^2$ and complete the square to get $$(2ay)^2=(2a^2x+b)^2+4a^2c-b^2$$and proceed similarly. You have to test all factorisations at the end.