$\newcommand{\vect}{\boldsymbol}$
A condição de estacionariedade para o problema é $$ \begin{pmatrix}x\\y\end{pmatrix}+\lambda^*\begin{pmatrix}2p^*\\2q^*\end{pmatrix} = \vect 0. $$ Portanto, $p^* = -x/(2\lambda^*)$ e $q^* = -y/(2\lambda^*)$. Usando essas expressões na condição de viabilidade $p^2 + q^2 = 1$ obtemos $$ \frac{x^2 + y^2}{(2\lambda^*)^2} = 1. $$ Logo, $2\lambda^* = \pm\sqrt{x^2 + y^2}$. Assim, temos $p^* = x / \sqrt{x^2 + y^2}$ e $q^* = y / \sqrt{x^2 + y^2}$ (se escolhermos a raiz positiva obtemos um valor menor de função objetivo).
Calculando a função objetivo no ponto encontrado temos $$ p^*x + q^*y = \frac{x^2 + y^2}{\sqrt{x^2 + y^2}} = \sqrt{x^2 + y^2}. $$
Como assumimos que $\vect d \neq \vect 0$, então $\vect d^T\nabla f( \vect x ) < 0$, pois $$ \vect d^T\nabla f( \vect x ) = \sum_{i = 1}^n d_ig_i = -\sum_{i : d_i \neq 0}g_i^2 \le 0. $$ Já sabemos que se $\vect d^T\nabla f( \vect x ) < 0$, então $\vect d$ é uma direção de descida para $f$ a partir de $\vect x$ e, portanto, existe $\Lambda_1 > 0$ tal que para todo $\lambda \in ( 0, \Lambda_1 ]$ temos que $f( \vect x + \lambda \vect d ) < f( \vect x )$.
Considere um $\vect x$ viável. Se $d_i > 0$, $x_i + \lambda d_i \ge a_i$ para todos $\lambda \ge 0$. Por outro lado, $$ x_i + \lambda d_i \le b_i \Leftrightarrow \lambda \le \frac{b_i - x_i}{d_i}. $$ Note que como $d_i > 0$, então $b_i - x_i > 0$. Desta forma, qualquer tamanho de passo que respeite $$ \lambda \le \min_{i : d_i > 0}\frac{b_i - x_i}{d_i} $$ garante a limitação $x_i \le b_i$ para todos $i \in \{ 1, 2, \dots, n \}$. Um raciocínio semelhanto aplicado às componentes com $d_i < 0$, leva-nos à conclusão que $$ \Lambda_2 := \min\left\{ \min_{i : d_i > 0}\frac{b_i - x_i}{d_i}, \min_{i : d_i < 0}\frac{a_i - x_i}{d_i} \right\} $$ é tal que para todo $\lambda \in ( 0, \Lambda_2 ]$ temos que $\vect x + \lambda \vect d$ é viável. Deste modo, tomando $\Lambda = \min \{ \Lambda_1, \Lambda_2\}$, vemos que para todo $\lambda \in ( 0, \Lambda_1 ]$ temos que $f( \vect x + \lambda \vect d ) < f( \vect x )$ e $\vect x + \lambda \vect d$ é viável.
Após algumas manipulações, a condição de KKT para este tipo de problema implicam que, para $i \in \{ 1, 2, \dots, n \}$, $$ \frac{\partial f}{\partial x_i}( \vect x^* ) - \mu_i + \eta_i = 0, $$ onde $\mu_i$ e $\eta_i$ são não-negativos e satisfazem as condições de complementaridade $$ ( x_i - a_i )\mu_i = 0\ \text{e}\ ( b_i - x_i )\eta_i = 0. $$
Agora, provemos que $\vect d = \vect 0$ se e somente se o vetor viável $\vect x$ satisfaz as condições de KKT. Primeiro assumimos que $\vect d = \vect 0$. Fizemos qualquer $i \in \{ 1, 2, \dots, n \}$. Note que se $d_i = 0$, então três situações podem ocorrer:
Nestes casos, as condições KKT para a componente $i$ podem ser satisfeitas, respectivamente, com
Agora, suponhamos que as condições KKT são satisfeitas em $\vect x$ viável. Deste modo, para $i \in \{ 1, 2, \dots, n \}$ temos os seguintes possíveis casos:
$a_i = x_i < b_i$. Neste caso, se as condições de KKT forem satisfeitas, então $\mu_i \ge 0$ e $\eta_i = 0$, portanto, $$ \frac{\partial f}{\partial x_i}( \vect x^* ) = \mu_i \ge 0. $$ Consequentemente, $d_i = 0$
$a_i < x_i = b_i$. Neste caso, se as condições de KKT forem satisfeitas, então $\mu_i = 0$ e $\eta_i \ge 0$, portanto, $$ \frac{\partial f}{\partial x_i}( \vect x^* ) = -\eta_i \le 0. $$ Consequentemente, $d_i = 0$
$a_i < x_i < b_i$. Neste caso, se as condições de KKT forem satisfeitas, então $\mu_i = \eta_i = 0$ e, portanto, $$ \frac{\partial f}{\partial x_i}( \vect x^* ) = 0. $$ Consequentemente, $d_i = 0$