Roughly speaking, two differential equations are called equivalent if one can be transformed into another by a certain change of variables. In particular, this change of variables transforms solutions of one equation into solutions of another. Moreover, most methods of solving differential equations consist of finding a change of variables that will transform a given equation to a simplier one, for which solutions are known. Thus, equivalence theory of differential equations underlies most branches in the theory of differential equations. In this paper we show that for a large class of differential equations (which, in particular, includes arbitrary systems of ordinary differential equations) it is possible to answer constructively to the question, whether two given differential equations are equivalent. This is achieved by means of transforming this problem into the equivalence problem for specific geometric structures on smooth manifolds and then applying powerful techniques of modern differential geometry.