The key is that it must always have rational roots for any $p, q$.
Claim: Let $f(x) = x^2 + bx + c$, where $b$ and $c$ are rational numbers. If $f(x)$ satisfies the condition that for all rational numbers $r$, $f(r)$ is the square of a rational number, then $f(x)$ must be the square of a polynomial.
Proof: By completing the square, we simply need to consider polynomials of the form $x^2 + \frac{n}{m}$, where $m,n$ are integers and $\gcd(n,m) = 1$.
Consider $x = 0$ and $\frac{1}{m}$, which gives us $\frac{n}{m}$ and $\frac{1+mn}{m^2}$ are both squares of rational numbers. Multiplying both terms by $m^2$, we get that $mn$ and $mn+1$ are both integers that are squares of a rational number, hence they are perfect squares, so $mn=0$.
Since $m\neq 0$, hence $n=0$ and thus $f(x) = x^2$ and we are done. $_\square$
Corollary: $b=0$ or $1$.
Proof: Consider the polynomial $f(x) = \left( \frac{p}{q} \right)^2 + 2(1-2b) \frac{p}{q} + 1$. From the conditions, for rational numbers, this always evaluates to a rational square. Hence, we must have $ f(x) = (ax+b)^2$.
Comparing coefficients, we see that $ a ^2 = 1, b^2 = 1$, which implies that $f(x) = (x+1)^2 $ or $(x-1)^2$, which hence correspond to $b=0$ and $b=1$ respectively. $_\square$
Note: Franklin shows that the claim is true for all polynomials, though it uses more machinery.
Guide:
The discriminant is
\begin{align}(3b)^2-4(4a)(2c)&=9b^2-32ac \\
&=9b^2+32(b+c)c\end{align}
You might like to do a completing the square to show that it is positive.
Best Answer
Complete the square: $$-3n^2-6n+1 = -3n^2-6n-3+3+1 = -3(n+1)^2+4.$$ For this to be nonnegative, we must have $(n+1)^2 \le \frac{4}{3}$. So $n=0, -1, -2$ are the only solutions, and $n=0$ gives a linear, not a quadratic, equation (though this special case would probably stop me from using this problem).