Expectation of a multivariate Gaussian over a plane

For a vector $X$ which follows a multinomial Gaussian distribution $N(\vec{0},\Sigma)$, a given vector $b$, and a known scalar value $c$, I would like to calculate the expectation :

$E[X|X^Tb = c]$

That is the expected value of the multivariate variable $X$ given that it will lie on the plane $X^Tb = c$. I have tried by parametrizing $X$ as $X = \vec{a_0} + t_1 \vec{a_1} ... t_{n-1} \vec{a_{n-1}}$ and calculating the integral $\int_{-\infty}^{\infty} ... \int_{-\infty}^{\infty} xf(x) dt_1 ... dt_{n-1}$, where $f(x)$ is the pdf of the Gaussian, but I end up with an extremely messy formula even when trying to solve in the simple three-dimensional case.

My question is whether there is a known closed form solution for the above expectation and/or if there is a specific parametrization I could use to simplify the solution.

-
The conditional distribution of $X$ will also be a multinomial Gaussian distribution so you can look for the conditional mode which will be the conditional expectation. You can use Lagrange multipliers for this. stats.stackexchange.com/a/9073/2958 is slightly related –  Henry Oct 12 '12 at 21:17
Let $Y=X_k$ for some fixed $k$, and $Z=X^Tb$. Then $(Y,Z)$ is a two-dimensional centered gaussian vector hence a general result is that $\mathbb E(Y\mid Z)=a\cdot Z$ for a suitable scalar $a$. Note that $\mathbb E(YZ)=\mathbb E(\mathbb E(Y\mid Z)Z)$ hence $\mathbb E(YZ)=a\cdot\mathbb E(Z^2)$, and $\mathbb E(Y\mid Z)=\mathbb E(Z^2)^{-1}\mathbb E(YZ)\cdot Z$. Using this for every $k$ yields $\mathbb E(X\mid Z)=\mathbb E(Z^2)^{-1}\mathbb E(XZ)\cdot Z$.
In the present case, $\mathbb E(XZ)=\mathbb E(XX^Tb)=\Sigma b$ and $\mathbb E(Z^2)=b^T\mathbb E(XX^T)b=b^T\Sigma b$. This can be summarized as $$\mathbb E(X\mid X^Tb=c)=\lambda\cdot\Sigma b,\quad\text{where}\quad\lambda=\frac{c}{b^T\Sigma b}.$$