c solver