What are the conditions for the implicit function theorem to hold? I learned about the Implicit Function Theorem (IFT) through my economics class. I get the basic idea: given a function $F(x,y,z) = 0$, there are some functions we cannot write one variable in terms of the others. 
Example: 
we cannot find $z(x,y)$ for $$y^2 + xz + z^2 - e^z -4 = 0$$
But we can find the partial derivatives via the implicit function theorem. 
My Question:
How do I know if a given $F$ satisfies the IFT? What are the conditions needed to satisfy it?
 A: My copy of Rudin, Principles of Mathematical Analysis, says:

Let $F$ be a $C^1$ mapping of an open set $E\subset\mathbb{R}^{n+m}$ into $\mathbb{R}^n$, such that $F(a,b) = 0$ for some point $(a,b)\in E$. Set $A = F'(a,b)$ and assume that $A_x$ is invertible.
Then there exist open sets $U\subset \mathbb{R}^{n+m}$ and $W\subset \mathbb{R}^m$, with $(a,b)\in U$ and $b\in W$, with the following property:
To every $y\in W$ corresponds a unique $x$ such that
  $$ (x,y)\in U\mbox{ and } F(x,y) = 0$$
  If this $x$ is defined to be $g(y)$, then $g$ is a $C^1$ map of $W$ into $\mathbb{R}^n$, $g(b) = a$, $F(g(y),y) = 0$, and $g'(b) = -(A_x)^{-1}A_y$.

(Here $A_x$ denotes the map $A$ restricted to the first, $\mathbb{R}^n$, factor.)
The hypotheses you seek are in the first paragraph.

Thinking about it, based on your description in the question, I'm not quite sure that you understand the implicit function theorem. Instead of saying what you cannot do, it says what you can do. That is, the IFT is what gives you permission in the first place to write some of the variables as functions of the others.

The way I like to think about the IFT is this. You have the zero set of a function $F:\mathbb{R}^N\to\mathbb{R}^n$. You want to parametrize it as the graph of a function around a point $p$. You write $\mathbb{R}^N$ into a product of two spaces, $\mathbb{R}^n\times\mathbb{R}^m$, so that $p = (a,b)$. The goal is to find a function $g:\mathbb{R}^m\to\mathbb{R}^n$ so that the graph of $g$ around $a$ is $b$.
For it to be the graph of a function, the zero set has to pass the vertical line test. Infinitesimally, that means that when you move in the $\mathbb{R}^n$ direction at $(a,b)$, you can't be tangent to the level curve. So you check this by verifying that the first factor of the differential $A=F'$ at $(a,b)$ is invertible.
Now you're good to go. The level set passes the vertical line test at $(a,b)$ and so the magic of differential calculus says that you can come up with the function $g$. Unfortunately, it is too much to ask for $g$ to be defined everywhere in $\mathbb{R}^n$, so all you get is an open set $W$ as the domain of $g$, and the graph of the function $g$ lies inside the open set $U$.
A: Given a function (a "constraint") $F(x, y, z) =0$, the implicit function theorem (where $(x_0,y_0,z_0)$ is of course a root of $F$) guarantees the existence of a function $f:\ U\to V$,  where $U$ is a neighbourhood of $(x_0,y_0)$ and $V$ a neighbourhood of $z_0$, if $F\in\mathcal C^1$ in $U$ and $\frac{ \partial F} {\partial z}(x_0,y_0,z_0) \neq 0$.
Basically you'd like that the partial derivative of the constraint with respect to the variable you want to express as a function of the other two is nonzero, e.g. you want $x=f(y, z) $ then it has to be $\frac{\partial F} {\partial x} \neq 0$.
