Let's address solutions in algebra first and then move to functional equations. Suppose you have an equation $F_1(x) = 0$ where you are solving for $x$. Then you perform some transformation(s) to yield $F_2(x) = 0$.
In general, there are 3 cases:
- $F_1(x) = 0 \implies F_2(x) = 0$. This may introduce extraneous solutions.
- $F_1(x) = 0 \impliedby F_2(x) = 0$. This may lose solutions.
- $F_1(x) = 0 \iff F_2(x) = 0$. This neither adds nor loses solutions.
For example, $f(x) = g(x) \implies f^2 (x) = g^2(x)$, but the inverse does not always hold. Hence extraneous solutions can arise and you must check your final solution against $f(x) = g(x)$.
The logic is similar for functional equations. Note that substitution, the most common tool for solving functional equations, is not an equivalence transformation. Say we are solving the functional equation $F(x, f) = 0 \ \forall x \in \mathbb{R}$ for $f: \mathbb{R} \to \mathbb{R}$, and we substitute $x \mapsto g(x)$ for some function $g: \mathbb{R} \to \mathbb{R}$. Clearly, $$ \left( F(x, f) = 0 \ \forall x \in \mathbb{R} \right) \implies \left( F(g(x), f) = 0 \ \forall x \in \mathbb{R} \right), \tag{1}$$ but the inverse does not always hold.
$(1)$ becomes an equivalence if $g$ is a bijection, but this is rarely the case. E.g., if you substitute $x \mapsto a$ for some number $a \in \mathbb{R}$, then it is not bijective and extraneous solutions may arise. This is the reason why in practically all applications the final solution must be checked and it is not worth checking every substitution for bijectivity just so that you wouldn't need to check the final solution.
I show that $f(x)=\pm x$, but only $f(x)=x$ satisfies the equation.
– user574848 Mar 31 '19 at 09:56