You do realize that this
static void method1(equation eq, double dt);
is expecting a object of equation instead of pointer to eq
so if you just change this method to
static void method1(equation* eq, double dt);
the following should work as is.
equationSolver::method1(this, dt); // i am getting error here...
because simpleMotion IS_A equation