We consider integer programming problems in standard form max{c T x : Ax = b, x 0, x ∈ Z n } where A ∈ Z m×n , b ∈ Z m and c ∈ Z n . We show that such an integer program can be solved in time (m·∆) O(m) · b 2 ∞ , where ∆ is an upper bound on each absolute value of an entry in A. This improves upon the longstanding best bound of Papadimitriou (1981) , where in addition, the absolute values of the entries of b also need to be bounded by ∆. Our result relies on a lemma of Steinitz that states that a set of vectors in R m that is contained in the unit ball of a norm and that sum up to zero can be ordered such that all partial sums are of norm bounded by m.We also use the Steinitz lemma to show that the 1 -distance of an optimal integer and fractional solution, also under the presence of upper bounds on the variables, is bounded by m · (2 m · ∆ + 1) m . Here ∆ is again an upper bound on the absolute values of the entries of A. The novel strength of our bound is that it is independent of n.We provide evidence for the significance of our bound by applying it to general knapsack problems where we obtain structural and algorithmic results that improve upon the recent literature.