BigGlenntheHeavy showed how to solve the last part of your question, so here's the first part...
\(\displaystyle u_x \ = \ 3x^{2}y-y^{3}+y, \ \ \ u_y \ = \ x^{3}-3xy^{2}+x\)
From here you need to set both \(\displaystyle u_x\) and \(\displaystyle u_y\) equal to zero and solve for the values of x and y, these will be your critical points.
\(\displaystyle u_x \ = \ 3x^{2}y-y^{3}+y = 0, \ \ \ u_y \ = \ x^{3}-3xy^{2}+x = 0\)
From here we can factor out an x and a y:
\(\displaystyle y(3x^{2}-y^{2}+1) = 0 \ \ \ x(x^{2}-3y^{2}+1) = 0\)
It is easy to then see that \(\displaystyle (0,0)\) is a critical point, as it will make both equations equal zero. Now to find the rest:
Plug \(\displaystyle y = 0\) in so that \(\displaystyle u_x =0\) and then solve for \(\displaystyle x\) in \(\displaystyle u_y\):
\(\displaystyle x(x^2+1)=0 \Rightarrow x = 0, \pm\sqrt{-1}\) which is imaginary, so we don't need that...
Now we still only have one critical point, \(\displaystyle (0,0)\). Do the same thing except with\(\displaystyle x=0\):
\(\displaystyle u_x = y(-y^2+1) = 0\) and \(\displaystyle u_y = 0 \Rightarrow y = 0, \pm1\)
We now have three critical points, \(\displaystyle (0,0) , (0,-1)\) and \(\displaystyle (0,1)\).
In order to classify these you should probably consult your Calculus book, but I think I have the rules here somewhere...
To distinguish Maxima, Minima and saddles, one can look at the second derivative... (note, \(\displaystyle (x^*,y^*)\) is the critical point)
\(\displaystyle 1. \frac{\partial^2f}{\partial{x^2}}(x^*, y^*) < 0\) AND \(\displaystyle \frac{\partial^2f}{\partial{x^2}}(x^*, y^*)*\frac{\partial^2f}{\partial{y^2}}(x^*, y^*)-\frac{\partial^2f}{\partial{x}\partial{y}}(x^*, y^*)*\frac{\partial^2f}{\partial{x}\partial{y}}(x^*, y^*) > 0\) then \(\displaystyle (x^*,y^*)\) is a local maximum
\(\displaystyle 2. \frac{\partial^2f}{\partial{x^2}}(x^*, y^*) > 0\) AND \(\displaystyle \frac{\partial^2f}{\partial{x^2}}(x^*, y^*)*\frac{\partial^2f}{\partial{y^2}}(x^*, y^*)-\frac{\partial^2f}{\partial{x}\partial{y}}(x^*, y^*)*\frac{\partial^2f}{\partial{x}\partial{y}}(x^*, y^*) > 0\) then \(\displaystyle (x^*,y^*)\) is a local minimum
\(\displaystyle 3.\frac{\partial^2f}{\partial{x^2}}(x^*, y^*)*\frac{\partial^2f}{\partial{y^2}}(x^*, y^*)-\frac{\partial^2f}{\partial{x}\partial{y}}(x^*, y^*)*\frac{\partial^2f}{\partial{x}\partial{y}}(x^*, y^*) < 0\) then \(\displaystyle (x^*,y^*)\) is a Saddle
Ten million lines of code later....
I hope this helps!