I have a cummulative 3.5 GPA from a top 20 school but a 3.1 GPA in my math classes. In particular I got a BC in linear algebra and a C in abstract algebra. My goal was always to go to graduate school but I fear these two classes are going to crush that. Also my school doesn't allow for retaking of classes (BOO!). Any advice besides the obvious of trying to raise the GPA, ace the GRE, get great letters of recommendation or do research? Or will this be too much to overcome?
Take the graduate version of abstract algebra. Do incredibly well in it, and ask the prof for a letter.
Hopefully it will read something like the following: "X's performance is extremely strong, and his (her?) homework assignments are flawless. I was astonished to learn that X had previously earned only a C in undergradate abstract algebra; whatever X's weakness was, he/she has left it completely beind him/her."
Doing research and getting a strong reference letter from your research supervisor is your best bet. There's also the possibility of going to a lesser school for your MS, acing your classes there (and doing research) and switching to a better school for your doctorate.