Equations in this case are less useful than knowing the right principle. The answer is only one sentence, but I'll need to explain the principle first.
When you say "scale around a point", what you're looking for is to temporarily treat that other point as the origin. Scaling around the origin is trivial; it's simply scalar multiplication. Scaling around another point is three operations:
- Translate the designated point to the origin
- Scale at the (temporary, new) origin.
- Translate back so that the origin goes back to the designated point.
In mathematical notation, call the scaling operator S. Call the translation operator that take the designated point to the origin T. The operator that takes the origin to the designated point is the inverse of T, denoted T-1. Then the operator that does "scaling at a point" is T-1ST. (Apply operators from right to left.)
The operator T-1ST is called the conjugation of S by T. In linear algebra, it's also call a similarity transform. If S and T can be represented by matrices (as is true in this setting), the combined operator is the product of the matrices.
So here's the one sentence answer: Conjugate your scaling operation by a translation to the origin.
I should add, although it's not part of the question, that conjugation is also how you rotate around a point.