$h(2x)=h(x)$
This implies that $h(x)$ is a constant (as otherwise the non-identically zero polynomial $h(2x)−h(x)$ will have an infinite number of roots.)
this is something I read as a part of a solution but didn't understand this part. someone pls help like how is it obvious that h is constant like don't we have to prove or something
Since you know that $h(x)$ is a polynomial, write it out. You know that
$$h(x) = a_0 + a_1x + a_2x^2 + \cdots + a_nx^n$$
for some constants $a_0, a_1$ etc. Then
$$h(2x) = a_0 + 2a_1x + 4a_2x^2 + \cdots + 2^na_nx^n.$$
Since $h(2x) = h(x)$, you have $h(2x) - h(x) = 0$, or in other words,
$$(2a_1 - a_1)x + (4a_2 - a_2)x^2 + \cdots + (2^na_n - a_n)x^n = 0.$$
This last expression is a polynomial with infinitely many roots (that is, every number $x$ is a solution). The only polynomial with infinitely many roots is the zero polynomial. The coefficients of the zero polynomial all have to be zero. This means:
$$2a_1 - a_1 = 0$$
$$4a_2 - a_2 = 0$$
$$\vdots$$
$$2^na_n - a_n = 0.$$
And the only way this can happen is if $a_1, a_2, ... , a_n$ are each $0$. This means that
$$h(x) = a_0$$ a constant!
Another proof:
Taking the derivative of both sides of $h(x) = h(2x)$, you have $h'(x) = 2 h'(2x)$, and hence $h'(0) = 0$ for all $x$. Taking the derivative again shows that $h''(x) = 4h''(2x)$, and hence $h''(0) = 0$. Iterating this process shows that $h^{(n)}(0) = 0$ for all $n \geq 1$. The only polynomial whose derivatives at zero are all $0$ is a constant polynomial.