Question: I have an equation:

$$\mathbf a = \mathbf b × \mathbf c,$$

where $\mathbf a$ $\mathbf b$ and $\mathbf c$ are 3-vectors.

How could I derive $b$ from the equation and express it in terms of $\mathbf a$ and $\mathbf c$?

Answer: 
You can't. Given $c$ and a vector $a$ perpendicular perpendicular to $c$ choose $b$ in the plane perpendicular to $a$. Then $b\times c$ lies in the direction of $a$ and you want $|a|=|b||c|\sin \theta$ where $\theta$ is the angle between $b$ and $c$ taken in the correct direction.

So then all you need is $|b|\sin \theta = \frac {|a|}{|c|}$. If you choose $\theta$ then the length of $b$ is fixed, but you can choose any non-zero $\theta$, so $b$ is not unique and can't be determined.
Note that

1. if $\mathbf{c}\cdot\mathbf{a}\neq 0$ then there are no solutions.
2. if $\mathbf{c}=\mathbf{0}$, then there are no solutions unless $\mathbf{a}=\mathbf0$, in which case every $\mathbf{b}$ works.
3. if $\mathbf{c}\neq\mathbf{0}$, then $\mathbf{p}\times\mathbf{c}=\mathbf{0}$ if and only if $\mathbf{p}$ is a scalar multiple of $\mathbf{c}$.

So if $\mathbf{a},\mathbf{c}\neq\mathbf{0}$ and $\mathbf{c}\cdot\mathbf{a}=0$, the solutions are $\mathbf{b}=\mathbf{b\_0}+\lambda\mathbf{c}$, some $\mathbf{b}\_0$ such that $\mathbf{b}\_0\times\mathbf{c}=\mathbf{a}$.

How could we find such a $\mathbf{b}\_0$? One way is to select it so that $b^2$ is minimized. That is, $\mathbf{b}\_0$ is perpendicular to $\mathbf{c}$. Since $\mathbf{b}\_0$ is perpendicular to $\mathbf{a}$ (from $\mathbf{a}=\mathbf{b}\times\mathbf{c}$), we get $\mathbf{b}\_0=\mu\mathbf{c}\times\mathbf{a}$. To solve for $\mu$, we take scalar triple product
$$
\mathbf{b}\cdot(\mathbf{c}\times\mathbf{a})=\mathbf{a}\cdot(\mathbf{b}\times\mathbf{c})=\mathbf{a}\cdot\mathbf{a}=a^2
$$
so
$$
\mu=\frac{a^2}{\lvert\mathbf{c}\times\mathbf{a}\rvert^2}
$$
and so the solutions are $\mathbf{b}=\frac{a^2}{\lvert\mathbf{c}\times\mathbf{a}\rvert^2}(\mathbf{c}\times\mathbf{a})+\lambda\mathbf{c}$ for some scalar $\lambda$.