Bilinear Programming: an Exact Algorithm