A branch and bound algorithm for solving a class of nonlinear integer programming problems