Notes on Linear Programming — Part XXXI: A Primal — Dual Algorithm