We propose an algorithm for finding legal firing sequence for a nonnegative integer solution x is an element of Z(nx1) of state equation Ax = b of Petri nets. This algorithm, first, decides a finite number of generators which compose a solution x is an element of Z(nx1.) out of the infinite set of solutions; X = {x is an element ofZ(+)(nx1)\Ax = b,A is an element ofZ(mxn), b is an element of Z(mx1)}. Secondly, after determining the expans coefficients, we will carry out finding firing sequence for a solution x by obtaining firing sequences of all decided and specified generators. The problem is that the firing sequence can not be obtained from an inexecutable generator in this algorithm. Therefore this problem is solved such that an inexecutable generator is changed executable by combining with some other generators. By this time, this algorithm is efficient because Borrow information is used to combine generators.