Since 1950, activists in operations research are solving integer programming problems. As computer hardware memory and speed has increased, researchers have been modeling complex problems and solving them with more freedom. In this study, we provide new approaches to solve integer programming problems which resulted in reducing solution times for some problems. It is assumed that model has integer coefficients and constants and all variables are integers as well. Also binary integer programming are studied. In this research, the algorithm first solves the relaxed problem. If the solution is integer we are done otherwise we use an objective function. The advantage of using a cutting objective function is that the left side of the constraint dose not change and just its right hand side changes. If the model has multiple optimal solution, we need to check whether an integer solution exists. These methods find an optimum integer solution among multiple solution or show that an integer solution does not exist. The proposed methods are named: branching based o total non-integer values of variables, branching based on the sum of zero reduce cost variables, or based on sum of slack variables. In some problems, methods introduced have solved problems in a shorter time in comparison with the CPLEX and WINQSB softwares. Also we have solved specific problems such as the axial three-dimensional and symmetric integer programming problems.