A magyar módszer tulajdonképpen a már ismertetett javító út kezdemények növelésére szolgáló algoritmus páros gráfokban történő futtatása egy észrevétellel megtoldva. Páros gráfokban minden javító út egyik végpontja alsó, másik végpontja felső pont. Így javító út keresésünket/javító út kezdemények növelését kezdhetjük az alsó párosítatlan pontokból. Tehát a korábbi eljárásunkat futtassuk úgy, hogy R az alsó párosítatlan pontok halmaza legyen.
Tétel: A fenti algoritmus outputja helyes.
Bizonyítás: Sikeres keresés esetén az állítás nem kétséges. Sikertelen keresés esetén azt kell belátnunk, hogy nincs is javító út, azaz az aktuális párosítás optimális. Az alsó címkézett pontok egy Kőnig-akadályt adnak, amely bizonyítja, hogy minden párosítás kihagy annyi pontot az alsó csúcsok közül amennyit M is kihagy.
A javító utak keresésére vonatkozó eljárást használhatjuk a maximális párosítás keresésére szolgáló sémában. Az így kapott algoritmust (ami a teljes magyar módszer) egy példán keresztül érthetjük meg.
Egy címkézési eljárás keretében a javító út kezdeménnyel elért csúcsoknak egy címkét adunk, amely az odavezető megtalált javító út kezdemény hosszát tartalmazza. Legyen C(i) az i címkét kapott csúcsok halmaza. Az egyes címkéket fázisokban osztjuk ki az i-edik fázisban osztjuk ki az i címkéket, a következő fázisban az eddig talált i hosszú javító út kezdeményeket próbáljuk meg eggyel megnövelni, azaz az i+1 címkéket kiosztani. újracímkézest elkerüljük. Páros gráfban a javító út egyik végpontja alsó, másik végpontja felső csúcs. így elég a keresést az alsó párosítatlan csúcsokból elindítani. A korábbi külső-belső címkék az új címkék paritása alapján határozhatók meg.
Ezekután az első néhány fázis leírása:
0. fázis: C(0)=az alsó párosítatlan pontok halmaza.
1. fázis: C(1)=N(C(0)). Azaz 1 címkét a 0 címkét kapott pontok szomszédai kapják. Ezek felső csúcsok lesznek. Ha C(1) üres, akkor a keresés sikertelen. Ha C(1) nem üres és valamelyik eleme párosítatlan csúcs, akkor találtunk egy javító utat. Ha C(1) nem üres és mindegyik eleme párosított, akkor a 2. fázissal folytatjuk eljárásunkat.
2. fázis: C(2)=C(1)-beli csúcsok párosított szomszédja. újracímkézéstől nem kell félni, mert (a továbbiakban is) a párosított pontpárak ``együtt'' kapnak címkét, így egy éppen címkét kapott felső pont párja automatikusan címkézetlen.
3. fázis: C(3)=N(C(2))-C. Azaz 3 címkét a 2 címkét kapott pontok eddig nem címkézett szomszédai kapják. Ezek felső csúcsok lesznek. Ha C(3) üres, akkor a keresés sikertelen. Ha C(3) nem üres és valamelyik eleme párosítatlan csúcs, akkor találtunk egy javító utat. Ha C(3) nem üres és mindegyik eleme párosított, akkor a 4. fázissal folytatjuk eljárásunkat.
A fázisok a fenti alternálás rendjében folytatódnak.
Ha keresésünk sikeres, akkor a legrövidebb javító utat találjuk meg.