Jer's observation was enough for me to find good handle for this problem: translate the function by each root to force zero as a root.
We are given f(x) = x^3-px^2+qx-r = (x-a)*(x-b)*(x-c)
Then f(x+a) = x^3 + (3a-p)x^2 + (3a^2-2pa+q)x + (a^3-pa^2+qa-r) = x*(x+a-b)*(x+a-c).
But since a is a root of f(x) then a^3-pa^2+qa-r = 0.
Then f(x+a) = x*(x^2 + (3a-p)x + (3a^2-2pa+q)) = x*(x+a-b)*(x+a-c)
We can cancel the x term and create a quadratic, call it ga(x):
ga(x) = x^2 + (3a-p)x + (3a^2-2pa+q) = (x-(b-a))*(x-(c-a))
Then the same process with roots b and c yields two more quadratics
gb(x) = x^2 + (3b-p)x + (3b^2-2pb+q) = (x-(a-b))*(x-(c-b))
gc(x) = x^2 + (3c-p)x + (3c^2-2pc+q) = (x-(a-c))*(x-(b-c))
Multiplying all three ga*gb*gc will create a 6th degree polynomial, but all we will need are the constant terms for each side:
(3a^2-2pa+q)*(3b^2-2pb+q)*(3c^2-2pc+q) = (a-b)*(b-a)*(a-c)*(c-a)*(b-c)*(c-b)
The right side can be expressed as -1*[(a-b)(b-c)(c-a)]^2, which is the negative of the square of our goal.
Its at this point where I want to simplify the left side but am getting bogged down in tedious algebra.