The first practical algorithm for determining if there exist integers a_i for given real numbers x_i such that a_1 x_1 + a_2 x_2 + ... + a_n x_n = 0, or else establish bounds within which no such integer relation can exist. The algorithm therefore became the first viable generalization of the Euclidean algorithm to n>=3 variables. A nonrecursive variant of the original algorithm was subsequently devised by Ferguson. The Ferguson-Forcade algorithm has been shown to be polynomial time in the logarithm in the size of a smallest relation, but has not been shown to be polynomial in dimension .