An O(n^3L) potential reduction algorithm for linear programming