Mathematical modeling gene regulatory networks is important for understanding and controlling them, with various drugs and their dosage regimens. The ordinary differential equations approach is sensible but also very difficult. Our reverse engineering algorithm (RODES), based on neural networks feedback linearization and genetic programming, takes as inputs high-throughput (e.g., microarray) time series data and automatically infer an accurate ordinary differential equations model. The algorithm decouples the systems of differential equations, reducing the problem to that of revere engineering individual algebraic equations, and is able to deal with missing information, reconstructing the temporal series of the transcription factors or drug related compounds which are usually missing in microarray experiments. It is also able to incorporate common a priori knowledge. To our knowledge, this is the first realistic reverse engineering algorithm, based on genetic programming and neural networks, applicable to large gene networks.