Find all $f:\mathbb{Q^+}\rightarrow \mathbb{Q^+}$ so that $\forall x,y\in\mathbb{Q^+}$ : $f(f(x)^2y)=x^3f(xy)$
so $f(0)=0$ when $x=y=0$
$f(f(1)^2)=f(1)$ when $x=y=1$
$f(f(x)^2)=x^3f(x)$ when $y=1$ and therefore $f$ is injective so $f(1)=1$
Find all $f:\mathbb{Q^+}\rightarrow \mathbb{Q^+}$ so that $\forall x,y\in\mathbb{Q^+}$ : $f(f(x)^2y)=x^3f(xy)$
so $f(0)=0$ when $x=y=0$
$f(f(1)^2)=f(1)$ when $x=y=1$
$f(f(x)^2)=x^3f(x)$ when $y=1$ and therefore $f$ is injective so $f(1)=1$
$x=xy,y=1\Longrightarrow f(f(xy)^2)=x^3y^3f(xy)$
$y=f(y)^2\Longrightarrow f(f(x)^2f(y)^2)=x^3f(xf(y)^2)=x^3y^3f(xy)$ (check the main equation)
so $f(f(x)^2f(y)^2)=f(f(xy)^2)\Longrightarrow f(x)^2f(y)^2=f(xy)^2$ (multiplicative function)
therefore :
$f(x)=0$
$f(x)=1$ (which is not possible)
$f(x)=x^a$ if we sub this in the main equation $\Longrightarrow 2a^2 = a+3 \Longrightarrow a=\frac{3}{2}$ or $a=-1$