Strategies for Factoring Expressions with Four Terms I'm trying to come up with a general strategy for factoring expressions with four terms on the basis of the symmetries of the expressions. One thought I had was the following: count up the number of terms in which each variable appears, and compare. 
For example, if I want to factor the expression $x^{2}-y^{2}-4x+4$, I could say that $x$ appears in two terms, and $y$ appears in only one term, and there is only one constant term. Since the two variables do not appear in the same number of terms, I would group by 1 and 3. So I would have 
$$x^{2}-4x+4-y^{2}=(x-2)^{2}-y^{2}=(x-2-y)(x-2+y).$$
On the other hand, suppose I had to factor the expression $2y-6-3x+xy$, I could note that $x$ and $y$ each appear in exactly two terms, so I should group by 2 and 2. Indeed,
$$2y-6-3x+xy=2(y-3)+x(y-3)=(x+2)(y-3).$$
However, I find that this strategy does not always work. For example, suppose I have something like $x^{2}-2xy+y^{2}-9$. Even though $x$ and $y$ appear in the same number of terms, the correct thing to do here is
$$x^{2}-2xy+y^{2}-9=(x-y)^{2}-3^{2}=(x-y-3)(x-y+3).$$
Can my strategy be salvaged? Is there a more general method than simply trial-and-error?
Important note: I am interested in basic techniques teachable in High School Algebra I.


Factorization in $\mathbb{C}[x_1,x_2, .. .x_n]$ is polynomial-time given a
  suitable representation of the algebraic number coefficients.

Paper i'm quoting:
http://www.aimath.org/pastworkshops/polyfactorrep.pdf
Paper that is cited:
http://scholar.google.co.uk/scholar?cluster=697805526622901646&hl=en&as_sdt=0,5&sciodt=0,5
