Le programme du consommateur s'écrit :
Max U (x,y)
Sous R = pxx + pyy

En utilisant la méthode de Lagrange, le programme devient :

L (x,y,λ) = U (x,y) + λ (R - pxx - pyy
Les conditions du premier ordre sont :
(1) δL(x,y,λ) / δx = (δU /δx) - λpx = 0
(2) δL(x,y,λ) / δy = (δU /δy) - λpy = 0
(3) δL(x,y,λ) / δλ = R - pxx - pyy = 0

(1) et (2) donnent le résultat attendu :
(δU / δy) / (δU / δx) = py / px
la troisième condition assure que tout le revenu est bien dépensé.

Pour être certain d’avoir un maximum il faut encore que les conditions du second ordre soient vérifiées ce qui est le cas si les prix sont positifs (ce qui toujours vrai).