Let K equal the area and the triangle have sides a, b, and c. Hero(n)'s formula provides that the area of any triangle, given its three side lengths (a, b, and c) equals sqrt[s*(s-a)*(s-b)*(s-c)] where s is the semi-perimeter.

The semi-perimeter = one half the perimeter or (a+b+c)/2.

Drop from B a perpendicular to side b. Let its length be h. Let the side b be divided by it into parts of lengths x and b - x. Then using the Pythagorean Theorem on the two small triangles, and the usual formula for area of a triangle:

a^2 = h^2 + x^2
c^2 = h^2 + (b-x)^2
   K = b*h/2

Then by subtracting the second equation from the first:

a^2 - c^2 = 2*b*x - b^2
            x = (a^2+b^2-c^2)/(2*b)

Substituting this back into the first equation:

h^2 = a^2 - (a^2+b^2-c^2)^2/(4*b^2)

Now using the third equation:

K^2 = b^2*h^2/4
       = (b^2/4)*[a^2 - (a^2+b^2-c^2)^2/(4*b^2)]
       = a^2*b^2/4 - (a^2+b^2-c^2)^2/16
       = (4*a^2*b^2-a^4-2*a^2*b*2-b^4+2*b^2*c^2-c^4+2*a^2*c^2)/16
       = -(a^4+b^4+c^4-2*b^2*c^2-2*a^2*c^2-2*a^2*b^2)/16
       = -(c^4 + [-2*b^2-2*a^2]*c^2 + [a^4-2*a^2*b^2+b^4])/16

We factor this by completing the square on c^2, then using the difference of two squares three times, then a + b + c = 2*s:

K^2 = -(c^4 + [-2*b^2-2*a^2]*c^2 + [a^2+b^2]^2 - 4*a^2*b^2)/16
       = -([c^2-a^2-b^2]^2-[2*a*b]^2)/16
       = -([c^2-a^2-2*a*b-b^2]*[c^2-a^2+2*a*b-b^2])/16
       = -(c^2-[a+b]^2)^2*(c^2-[a-b]^2)/16
       = -(c+[a+b])*(c-[a+b])*(c+[a-b])*(c-[a-b])/16
       = (a+b+c)*(a+b-c)*(a-b+c)*(-a+b+c)/16
       = (2*s)*(2*s-2*c)*(2*s-2*b)*(2*s-2*a)/16
       = s*(s-a)*(s-b)*(s-c)
    K = sqrt[s*(s-a)*(s-b)*(s-c)]

Source of Answer: The Math Forum, Ask Doctor Math
    URL of answer: http://forum.swarthmore.edu/dr.math/problems/hath11.24.98.html