You have to maintain your chlorine shock level consistently for as long as it takes to kill all of the algae. May take a couple of days, may take a week, but you can't let your chlorine level drop below the proper shock level for even 24 hrs. or you'll never get rid of the algae.

"CYA = is a little low" isn't going to cut it. Your correct chlorine shock level depends directly on your CYA level. Depending on your actual CYA reading, 20ppm may be way too high for your pool or it may be way too low.

Get an accurate CYA level test and then check Ben's Best Guess table to determine what your correct shock level is. Maintain that shock level (testing 2-3 times per day if possible) as long as it takes to kill all of the algae.