One way to look at it is this: if y= mx+ b is the equation of a line, then the slope, m, is the tangent of the angle, [itex]\theta[/itex], the line makes with the x-axis. If two lines are perpendicular then they form a right triangle with the x-axis as hypotenuse. The angle one of the lines makes with the x- axis, say [itex]\theta[/itex], will be acute, the other, [itex]\phi[/itex], will be obtuse.
Looking over this I see I have used the wrong words. I meant that one will be less that or equal to 45 degrees, the other larger than or equal to 45 degrees.
The angles inside that right triangle will be [itex]\theta[/itex] and [itex]\pi- \phi[/itex] and we must have [itex]\theta+ (\pi- \phi)= \pi/2[/itex] so that [itex]\phi- \theta= \pi/2[/itex].
Now use [itex]tan(a+ b)= \frac{tan(a)+ tan(b)}{1- tan(a)tan(b)}[/itex] with [itex]a= \phi[/itex] and [itex]b= -\theta[/itex]:
[tex]tan(\phi- \theta)= \frac{tan(\phi)- tan(\theta)}{1+ tan(\phi)tan(\theta)}= tan\left(\frac{\pi}{2}\right)[/tex]
But [itex]tan(\pi/2)[/itex] is undefined! We must have the fraction on the left undefined which means the denominator must be 0: [itex]1+ tan(\theta)tan(\phi)= 0[/itex] so that [itex]tan(\theta)tan(\phi)= -1[/itex] and that last is just "[itex]mm'= -1[/itex]".