Constructive Duality in Integer Programming