Strong Duality For Linear Programming