# Associative operation on a set $S$

Let $S$ be a non-empty set and $n\in \mathbb{N}, n\geq 2$ a fixed integer. We consider an associative operation $"\cdot"$ on $S$ with the following properties:

1. $x^{n+1}=x, \forall x\in S$
2. $xy^nx=yx^ny, \forall x,y\in S$

Show that this operation is commutative. This problem has been given at a romanian contest. The proof uses very complicated substitutions and I am wondering if there exists an elegant proof of this. Thank you!

We have $$\tag1x^2 = (x^2)^{n+1}=x(x^2)^nx=x^2x^nx^2=xx^{n+1}x^2=x^4$$ and consequently $$\tag2 x = x^{n+1}=x^2x^{n-1}\stackrel{(1)}=x^4x^{n-1}=x^2x^{n+1}=x^3$$ and $$\tag3x^n=x^{n-1}x\stackrel{(2)}=x^{n-1}x^3=x^{n+1}x=x^2$$ for all $x$.
Now $$\tag4 xy\cdot yx=xy^2x\stackrel{(3)}=xy^nx=yx^ny\stackrel{(3)}=yx^2y=yx\cdot xy$$ so that $xy$ and $yx$ commute for all $x,y$. Next, \tag5\begin{align} xy&\stackrel{(2)}=xy^3\stackrel{(2)}=(xy)^3y^2\stackrel{(2)}=(xy)^5y^2\\&=x(yx)^2\cdot y(xy)^2y\cdot y\\ &\stackrel{(4)}=x(yx)^2\cdot (xy)y^2(xy)\cdot y\\ &=x(yx)^2x\cdot y^3xy^2\stackrel{(3)}=x(yx)^2x\cdot yxy^2\\ &\stackrel{(4)}=(yx)x^2(yx)yxy^2\stackrel{(2)}=(yx)^3y^2\stackrel{(2)}=yxy^2\end{align} and $$\tag6 xy\stackrel{(5)}=yxyy\stackrel{(5)}=yyxyyy\stackrel{(2)}=y^2xy$$ so that $y$ commutes with $yxy$ as well as with $xy^2$.
The operation $x*y:=yx$ has the same properties as "$\cdot$". Thus we obtain the corresponding result $$yx = x*y\stackrel{(5^*)}=y*x*y*y = yyxy \stackrel{(6)}= xy.$$
If we are bored, we can as well translate the derivation of $(5)$ directly to one of $(5^*)$ and thus show: \begin{align} yx&\stackrel{(2)}=y^3x\stackrel{(2)}=y^2(yx)^3\stackrel{(2)}=y^2(yx)^5\\&= y\cdot y(yx)^2y\cdot (xy)^2x\\ &\stackrel{(4)}=y\cdot (yx)y^2(yx)\cdot(xy)^2x\\ &=y^2xy^3\cdot x(xy)^2x\stackrel{(3)}=y^2xy\cdot x(xy)^2x\\ &\stackrel{(4)}=y^2xy(xy)x^2(xy)\stackrel{(2)}=y^2(xy)^3\stackrel{(2)}=y^2xy\\ &\stackrel{(6)}=xy.\end{align}