If $x ^ 6 = x$, prove that $x ^ 2 = x$, in a ring I found a short and interesting problem:

Given a ring $(R, +, \cdot)$ and knowing that $x ^ 6 = x\ (\forall x\in R)$, prove that $x ^ 2 = x\ (\forall x \in R)$.

While it is short, I cannot figure out how to solve it. If it would be the reverse, then the solution were simple: $(x ^ 2) ^ 3 = x$.
Given this information, can be the problem be solved? If so, which is the simplest way to solve it?

Consider the case where the ring has a unit (if not, then one could consider $R$ as a $\mathbb{Z}$-algebra, but the details would change in that case).  
Observe $2^6=2$ and $3^6=3$.  In other words, $64=2$ and $729=3$.  So $62=0$ and $726=0$.  Since $\gcd(62,726)=2$, it follows that $2=0$ (by repeated subtraction).
Therefore, we have a ring where $2=0$.  Now, consider $(x+1)^6=(x+1)$.  The LHS expands as 
$$
x^6+6x^5+15x^4+20x^3+15x^2+6x+1=x+1.
$$
Simplifying the even coefficients, it follows that 
$$
x^6+x^4+x^2+1=x+1.
$$
Since $x^6=x$, we know that $x^4+x^2=0$ or that $x^4=x^2$.  Since $x^4=x^2$, by multiplying by $x^2$, we have $x^6=x^4$ so $x^6=x^2$, but since $x^6=x$, $x=x^2$.
(There are a few places in this calculation, where one should be careful to make sure that I'm not cheating, but the ideas should work, at least in the case where $R$ has a unit.)
