Each step of the Levenshtein distance
Haskell, 201 194 bytes

l=length
g[]n u=map(\_-&gt;"")n
g(b:c)[]u=(u++c):g c[]u
g(b:c)n@(o:p)u|b==o=g c p(u++[o])|1&lt;2=((u++o:c):g c p(u++[o]))!((u++c):g c n u)
a!b|l a&lt;l b=a|1&lt;2=b
p[a,n]=g a n""
f=interact$unlines.p.lines


Longer than expected. Maybe I can golf it down a little bit ...

Usage example:

*Main&gt; f                     -- call via f
Questions                    -- User input
Answers                      -- no newline after second line!
uestions                     -- Output starts here
Aestions
Anstions
Ansions
Answons
Answens
Answers


It's a brute force that decides between changing and deleting if the initial characters differ.