Avendo $f$ continua è tutto incredibilmente più facile

(ma quella sopra NON è una soluzione

)
Definisco $g$ come nel primo post... poi è facile avere $g(x^n)=g(x)^n$ con $n$ naturale (induzione) e da questa si arriva a $g(x^q)=g(x)^q$ con $q$ razionale... poi per la continuità di $f$ anche $g$ è continua e allora ottengo che $g(x)=x^{\alpha}$ e bon fine.
Dato che non avevo nulla da fare ecco qui la soluzione in "bella":
Chiamo $P(x,y)$ la proposizione del testo.
$P(1,1)\to f(1)=2$
$P(x,x)\to f(x^2)=f(x)^2-2$
Sia $a=\inf\{f(x)\}\ge 0$. Se vale per assurdo $a^2<a+2$ allora esiste $x$ tale che $f(x)^2<a+2$ ma $f(x)^2=f(x^2)+2$ da cui $f(x^2)<a$ che è assurdo. Quindi $a^2\ge a+2$ da cui $a\ge 2$ e quindi $f(x)\ge 2$ sempre.
Definisco la funzione $g$ dai reali positivi ai reali positivi in modo che $f(x)=g(x)+\frac{1}{g(x)}$ e valga $(g(x)-1)(x-1)\ge 0$... tale $g$ esiste dato che $f(x)\ge 2$.
$f(xy)+f(\frac xy)=f(x)f(y)=f(y)f(x)=f(xy)+f(\frac yx)\to f(\frac xy)=f(\frac yz)$ e quindi vale $f(x^{-1})=f(x)$ da cui si ottiene $g(x^{-1})=g(x)^{-1}$ per la definizione di $g$.
Dimostro per induzione su $n$ intero positivo che $g(x^n)=g(x)^n$. Chiamo $g(x)=a$
P.B. $n=1$ allora è ovvio
P.I. $n+1$: $P(x^n,x)\to f(x^{n+1})=f(x^n)f(x)-f(x^{n-1})$, ma per ipotesi induttiva so che $f(x^n)=a^n+a^{-n}$ e che $f(x^{n-1})=a^{n-1}+a^{-n+1}$... ora non resta che sostituire i valori e ottenere $f(x^{n+1})=a^{n+1}+a^{-n-1}$. E dato che $x^{n+1},x$ stanno dalla stessa parte rispetto ad $1$ vale $g(x^{n+1})=g(x)^{n+1}$
Ora avendo $g(x^{-1})=g(x)^{-1}$ e $g(x^n)=g(x)^n$ con $n$ intero positivo è facile arrivare a $g(x^q)=g(x)^q$ con $q$ razionale. (***)
Sia $V=\{2^{q}|\ q\in\mathbb{Q}\}$. Sia $b$ tale che $g(2)=2^b$.
Allora è banale dimostrare con (***) che se $x\in V$ allora vale $g(x)=x^{b}$. E quindi per $x\in V$ vale $f(x)=x^b+x^{-b}$.
Il fatto è che $V$ è denso in $\mathbb{R}^+$ e perciò per la continuità di $f$ vale $f(x)=x^b+x^{-b}$ per ogni $x$ reale positivo
È banale vedere che tutte le funzioni di questa forma con $b$ reale soddisfano le richieste del testo.