Here is some sample code.
maxima_calculus('algebraic: true;')
var('a3 a6')
(2a3 - 2a6).factor()
Does it not bother with integer factors with linear expressions, for some reason? It seems to handle more complicated expressions well, but now I'm a bit skeptical. For example, sage factors 2a3^2 + 4a3a6 + 2a6^2 just fine.