For sake of simplicity, call x a periodic number if f(0)(x), f(1)(x), f(2)(x), … takes finitely many values.
If ∣x∣>∣c∣+1 then x2−∣x∣=∣x∣(∣x∣−1)>(∣c∣+1)∣c∣≥∣c∣⟹x2−∣c∣>∣x∣, so ∣f(x)∣=∣x2+c∣≥x2−∣c∣>∣x∣, that is, ∣f(n+1)(x)∣>∣f(n)(x)∣>⋯>∣x∣ and f(0)(x), f(1)(x), f(2)(x), … takes infinitely many values. So if x is periodic then ∣x∣≤∣c∣+1, that is, all periodic numbers lie in the interval [−(∣c∣+1),∣c∣+1].
Let c=sr, x=zy and f(x)=vu, gcd(r,s)=gcd(y,z)=gcd(u,v)=1, s,z,v>0. So
vu=(zy)2+sr⟺y2sv=z2(us−rv)
Since gcd(y,z)=1, z2 divides sv, so sv≥z2⟺v≥sz2. If sz2>z⟺z>s then the denominator of x is less than the denominator of f(x) and consequently the denominator of f(n)(x) is less than the denominator f(n+1)(x), so x is not a periodic point.
So all rational periodic points of f lie in the interval [−(∣c∣+1),∣c∣+1] and have denominator not greater than the denominator of c. Thus the number of rational periodic points of f is finite.