The Problem
For my discrete structures course, I need to prove that $f(x)$ is one-to-one and onto, with $f:{\rm I\!R}\rightarrow{\rm I\!R}$ where $f(x)=x^3+x$. Based on the graph, this function is one-to-one and onto, and Wolfram confirms this, but I don't know how to approach the actual proof.
Proving it One-to-One
I understand a function $f(x)$ is one-to-one if for $x_1,x_2\in{\rm I\!R}$, if $f(x_1)=f(x_2)$ implies $x_1=x_2$. The problem is when I set $f(x_1)=f(x_2)$ this, I eventually get to $$\sqrt[3]{x_1^3+x_1}=\sqrt[3]{x_2^3+x_2}$$ It's at this point I'm stuck, and don't know how to progress any further.
Proving it Onto
So I understand to prove a function is onto, you solve $f(x)$ for $y$, and use the result as input to $f(x)$, and if $f(x)=y$, the function is onto. But I run into a similar problems where $$x^3+x=y$$ I could take a cubic root or rearrange the variables all I want but I can't think of a way to isolate $x$ and get $x=something$
It is one-to-one because it is strictly increasing ($x>y\implies f(x)>f(y)$) and it is surjective be cause $\lim_{x\to\pm\infty}f(x)=\pm\infty$ and by the intermediate value theorem.