Level Sets are Regular Submanifolds In Section $9$ of Tu's Introduction to Manifolds, we're asked to find all values $c\in\Bbb R$ for which the level set $f^{-1}(c)$ is a regular submanifold when $$f(x,y)=x^3-6xy+y^2.$$By taking each of the partials and setting them to zero, I find that the only critical points are $(0,0)$ and $(6,18)$. But now I'm kind of at a loss. I've been trying to follow an example, and it isn't working out for me... Are there any suggestions for what I should do? My full attempt has been to define $g(x,y)=f(x,y)-c$ (as the example) so that $f^{-1}(c)=g^{-1}(0)$. Now the level set is a regular submanifold if the critical points are not part of the level set, but I'm not really sure how to do this or if this is correct.
I've personally found this to be the least intuitive math course, so as an aside, if anyone wants to suggest a book or notes that might help develop some intuition, I'd appreciate it. 
 A: Hint:
The inverse image of a regular value of $f$ is a regular submanifold. Regular values are just elements of the codomain that aren't critical values, and the set of critical values of $f$ is just the image of the set of critical points of $f$.
For a visual illustration that $0\in\mathbb{R}$, which is the image of the critical point $(0,0)\in\mathbb{R}^2$, is not a regular value, take a look at its inverse image:

That self-intersection is the trouble.
For the critical value $-108\in\mathbb{R}$, there is a different "problem", namely that the critical point $(6,18)$ is a local minimum: here is an animation of the preimages of some $-108+\epsilon$:

By the way, I'm a big fan of Lee's Introduction to Smooth Manifolds. There's a second edition that just come out.

Code for first image:

Plot3D[x^3 - 6 x*y + y^2, {x, -40, 40}, {y, -40, 40}, 
 MeshFunctions -> {#3 &}, Mesh -> {{0}}, PlotPoints -> 5, 
 MaxRecursion -> 5]

Code for second image:

Export["animation.gif", 
 Table[Plot3D[x^3 - 6 x*y + y^2, {x, 5.5, 6.5}, {y, 17.5, 18.5}, 
   MeshFunctions -> {#3 &}, Mesh -> {{z}}, PlotPoints -> 5, 
   MaxRecursion -> 5], {z, -107.95, -108.01, -0.001}], 
 "DisplayDurations" -> {0.075}]

