Date: 26 September 2013

x

dx = 0.25
b = 1
possiblezeros = Sequence((b + i * dx, 0), i, -100, 100)
A = Point(possiblezeros)
a = 4
fprime: y = 2 * a * (x - b)
parallelvec: UnitVector[fprime] * 2 * dx
possibledirections: A + {parallelvec, -parallelvec, Mirror[parallelvec, xAxis], Mirror[parallelvec, yAxis], Vector[(2 * dx, 0)], Vector[(0, 2 * dx)], Vector[(-2 * dx, 0)], Vector[(0, -2 * dx)]}
B = Point(possibledirections)
dirvec: B - A
c = -1
f(x) = a * (x - b)^(2) + c
possibledirections2: B + Sequence[Rotate[dirvec, i * π / 8], i, -3, 3]
C = Point(possibledirections2)
c1: x(A) * y(B) + x(B) * y(C) + x(C) * y(A) - x(A) * y(C) - x(B) * y(A) - x(C) * y(B)
c2: -x(A)^(2) * y(B) - x(B)^(2) * y(C) - x(C)^(2) * y(A) + x(A)^(2) * y(C) + x(B)^(2) * y(A) + x(C)^(2) * y(B)
c3: x(A)^(2) * x(B) + x(B)^(2) * x(C) + x(C)^(2) * x(A) - x(A)^(2) * x(C) - x(B)^(2) * x(A) - x(C)^(2) * x(B)
c4: -x(A)^(2) * x(B) * y(C) - x(B)^(2) * x(C) * y(A) - x(C)^(2) * x(A) * y(B) + x(A)^(2) * x(C) * y(B) + x(B)^(2) * x(A) * y(C) + x(C)^(2) * x(B) * y(A)
derivestparab: c1 * x^(2) + c2 * x + c3 * y + c4 = 0
derivestline = Line(A, B)
inline: C ≟ B + dirvec ∨ x(B) ≟ x(A)
correct: derivestline ≟ fprime ∧ inline
xmin = -3.2
xmax = 3.2
ymax = 2.2
ymin = -2.2
text1: "" + (LaTeX[xlabel]) + ""
showcorrect = false