Suppose I'd like to:

\begin{align} \mathop{\text{min}}_\mathbf{x} && \mathbf{x}^T\mathbf{A}\mathbf{x} \\ \text{subject to:} && \mathbf{x}^T \mathbf{M} \mathbf{x} = 1\\ && \mathbf{C}\mathbf{x} = \mathbf{b} \end{align} where all vector variables are known except $\mathbf{x}$, and $\mathbf{C}$ is full row rank.

If I didn't have the $\mathbf{C}\mathbf{x} = \mathbf{b}$ constraint then after applying the Lagrange multiplier method I could solve this as a generalized eigenvalue problem:

\begin{align} \text{solve} && \mathbf{A}\mathbf{x} = \lambda \mathbf{M} \mathbf{x}\\ \text{subject to:} && \mathbf{x}^T \mathbf{M} \mathbf{x} = 1\\ \end{align}

If I try to apply the same approach to my original problem I get something that doesn't look quite like a generalized Eigenvalue problem:

\begin{align} \text{solve} && \left(\begin{matrix} \mathbf{A} & \mathbf{C}^T\\ \mathbf{C} & \mathbf{0} \end{matrix}\right) \left(\begin{matrix} \mathbf{x} &\\ \mu \end{matrix}\right) = \left(\begin{matrix} \lambda \mathbf{M} \mathbf{x}\\ \mathbf{b} \end{matrix}\right)\\ \text{subject to:} && \mathbf{x}^T \mathbf{M} \mathbf{x} = 1 \\ \end{align}

*Ideally*, I'd like to reduce my problem to an instance of the generalized eigenvalue problem so I can use an off-the-shelf numerical solver.

What's the best way to solve this problem?

(The title of this question is the same, but I couldn't parse the actual question to verify duplicity).