added Problem 19
added Problem 20
added Problem_21 and fixed factor finding mistake