We give an algorithm for the well-known result asserting that if R is a polynomial ring in a finite number of variables over a Noetherian ring A of Krull dimension d ∞ , then for n ⩾ max ( 3 , d + 2 ) , SL n ( R ) acts transitively on Um n ( R ) . For technical reasons we demand that the Noetherian ring A has a theory of Grobner bases and contains an infinite set E = { y 1 , y 2 , … } such that y i − y j ∈ A × for each i ≠ j . The most important guiding examples are affine rings K [ x 1 , … , x m ] / I and localizations of polynomial rings S −1 K [ x 1 , … , x m ] , with K an infinite field. Moreover, we give an algorithmic proof of Suslin's stability theorem over these rings. For the purpose to prepare the ground for this algorithmic generalizations of the Quillen–Suslin theorem (corresponding to the particular case A is a field), we will give in the first section a constructive proof of an important lemma of Suslin which is the only nonconstructive step in Suslin's second elementary solution of Serre's conjecture. This lemma says that for a commutative ring A, if 〈 v 1 ( X ) , … , v n ( X ) 〉 = A [ X ] where v 1 is monic and n ⩾ 3 , then there exist γ 1 , … , γ l ∈ E n − 1 ( A [ X ] ) such that 〈 Res ( v 1 , e 1 . γ 1 ( v 2 , … , v n ) ) t , … , Res ( v 1 , e 1 . γ l ( v 2 , … , v n ) ) t 〉 = A . Thanks to this constructive proof, Suslin's second proof of Serre's conjecture becomes fully constructive.