The solve routine assumes that any variables in a system of equations are arbitrary parameters, not variables to be solved for. So, for example, solve([x=1,y=1],[x]); reports that equation 2 is inconsistent. To solve your final equation, include all the variables: solve([eq3,KD1,aa1],[KD,KP,a]);