Need some help understanding the condition of the implicit function theorem The condition for the implicit function theorem is that the (smooth) map $f: \mathbb R^n \to \mathbb R^m$ is locally a (smooth) map of $n-k$ variables if there are locally smooth maps $g_i , i \in \{n-k+1, \dots, n\}$ with the property that $\nabla g_i$ are linearly independent.
To make this question as simple as possible let's consider maps $f: \mathbb R^2 \to \mathbb R$ so that the implicit map will be $F(x,y,z) = 0$ for some $F$. A level set of a (smooth) surface. 
The condition that a gradient of a surface at a point is zero means the point in consideration is an extremum. So the condition of the theorem excludes points that are "completely flat". 
But I am not sure what this means: thinking of normal extrema, like the north pole on the sphere, of course not all gradients are zero (only two(?)).

But what does a point on a surface look like if all the gradients vanish?

and also:

Why does this "flatness" prevent us from expressing one of the
  coordinates in terms of the other two?

Note: I assume the answer to question two will turn out to be interesting as it involves a modified version of the theorem: the theorem gives a smooth function (for the derivative of this function we need the non-zero gradients). But what happens if we drop the condition of (smoothness or) continuous differentiability and just express the last coordinate in terms of the other two so that the resulting function is maybe continuous but not differentiable?

Could someone please show me an example in which we can parameterise
  the surface locally as $z = f(x,y)$ where $f$ is continuous but not
  differentiable? (I am hoping to gain some insight from this example
  into why we require the gradients to be nonzero)

 A: If all the partial derivatives are zero at a point and the function is smooth then the partial derivatives must be zero in some open set near the point. It follow the function is locally constant at such a degenerate point. In this case, we cannot solve for one variable in terms of another. 
In the case the function is continuous but not differentiable we face all the usual problems we did in the single-variate case. For example, if $f(x) = |x|$ then $f'(0)$ does not exist and I also am not able to solve for $x$ as a function of $y$ in an open set near $0$. On the other hand, there are other problems where I could. For example, $f(x) = x$ for $x<0$ and $f(x)=2x$ for $x>0$ we have left and right slopes at $x=0$ which do not match hence $f'(0)$ does not exist. That said, I can solve for $x$ as a function of $y$ in this case: $x = y$ for $y<0$ and $x = y/2$ for $y \geq 0$. So, failure of differentiability is not necessarily tied to failure to find an inverse function (which, goes hand in hand with the implicit function theorem question, these theorems can be used to imply the other, usually a textbook proves one and uses it to get the other as almost a corollary)
In short, the question of what it means when a function is continuous, but not differentiable, is a far more subtle question. There are many possible behaviors and I have only shown the most trivial of cases. On the other hand, all the derivatives, or too many of the derivatives, being zero just means the function is constant (or too constant) to solve for one variable in terms another.
I know I'm being a bit nebulous here, but, when I proved the implicit function theorem there is this step where you have to multiply by the inverse of the part of the Jacobian which has to be full-rank. That step is spoiled when too many of those derivatives are zero. 
