With a CYA of 40, your shock level is 15 ppm--have you consistently kept it above 15 for the time you've specified, or did you let the chlorine levels yo-yo up and down? If the chlorine level isn't consistenly kept above that 15 ppm, then you're spinning your wheels--and wasting your time. If it's been consistently above the 15 ppm, and is still green, then I would either double-check your CYA levels, or check with your water company to make sure there are no metals in the water.