Nonconvex programs which have either nonconvex minimand and/or nonconvex feasible region have been considered by most mathematical programmers as a hopelessly difficult area of research. There are, however, two exceptions where considerable effort to obtain a global optimum is under way. One is integer linear programming and the other is nonconvex quadratic programming. This paper addresses itself to a special class of nonconvex quadratic program referred to as a "bilinear program" in the literature. We will propose here a cutting plane algorithm to solve this class of problems.