The Range of $f$
If the range of $f$ is a proper subset of $\mathbb{R}$, then the range of $f \circ f$ is a proper subset of a proper subset of $\mathbb{R}$, which is itself a proper subset of $\mathbb{R}$.
The range of $-x^3 + x$ is $\mathbb{R}$, so it follows that the range of $f$ is $\mathbb{R}$.
Suppose $f$ is not monotonic.
It has a range of $\mathbb{R}$. and is continuous. Therefore there have to be (at least) three disjoint intervals values $A,B,C$ such that $\forall a\in A|\exists b\in B,c\in C|f(a)=f(b)=f(c)$. Assume we're talking about a "maximal" $A,B,C$, in the sense that there's not a similar triplet of which these three intervals are subsets.
$\{x|\exists a\in A | f(a)=x\}$ is an interval; call it $O$.
If $O$ isn't disjoint with $(A\cup B\cup C)$,
Define $O' = A\cap O \neq\emptyset$. (or $B$ or $C$; this part's symmetric)
Consider $a_0\in O'$. Because $a_0\in O$, we know there are $a_{-1}^a,b_{-1}^a,c_{-1}^a|f(a_{-1}^a)=f(b_{-1}^a)=f(c_{-1}^a)=a_0$.
Because $a_0\in A$, we know there exist $b_0,c_0|f(a_0)=f(b_0)=f(c_0)$. There must be $b_{-1}^b|f(b_{-1}^b)=b_0$ and $c_{-1}^c|f(c_{-1}^c)=c_0$.
Because $b_0\neq c_0\neq a_0$, and $a_{-1}^a\neq b_{-1}^a\neq c_{-1}^a$, we now have five distinct numbers $x\in\{a_{-1}^a,b_{-1}^a,c_{-1}^a,b_{-1}^b,c_{-1}^c\}$ such that $f(f(x)) = f(a_0)$
But if $f(f(x))=-x^3+x$, then there could be at most three such points. A contradiction.
If $O$ is disjoint with $(A\cup B\cup C)$,
then $\not\exists x\in(A\cup B\cup C)|f^{-1}(x)\in(A\cup B\cup C)$.
Then we have
$\forall a\in A|\exists b\in B,c\in C|f(f(a))=f(f((b))=ff(((c))$
and we have intervals $A_{-1},B_{-1},C_{-1}$ where
$\forall a_{-1}\in A_{-1}|\exists b_{-1}\in B_{-1},c_{-1}\in C_{-1}|f(f(a_{-1}))=f(f((b))=f(f((c))\in O$
But $(A\cup B\cup C)$ is distinct from $(A_{-1}\cup B_{-1}\cup C_{-1})$, and $-x^3+x$ has only one such triplet of overlapping intervals, another contradiction. (It's important here that $A,B,C$ were "maximal", as mentioned.)
If $f$ is monotonic?
If $f$ is monotonic, then $f\circ f$ is also monotonic, but $-x^3+x$ isn't, so that's not an option either.
We conclude that no such function exists.
Your teacher probably won't give you many points for the above proof; it needs a lot of cleaning up. But I haven't found any holes in it yet.