Source: http://www.gymomath.ch/javmath/polycopie/prog_lin.pdf