Factorising algebraic expressions