An algorithm of internal feasible directions for linear integer programming