Undergraduate Computer Science Textbooks
Since you like to work through books, meaning you will spend a lot of time with one book and dig into the details using the book, I would recommend that your next book be

Introduction to algorithms by Cormen

I don't have this book as it didn't exist when I went to school but learning algorithms and data structures is where you will start at the University level once you have one programming language learned.

This is the kind of book that once you put it on your bookshelf and you will keep grabbing again and again for the rest of your life if you continue to program.

I know you asked about math, but if you can do problem solving, and converting word problems to math, then learning the math you need for programming is not something to worry about. In math you take word problems and convert them into the language of math, with programming you take word problems and convert them into algorithms and data structures. The thinking is the basically the same, one produces an abstract result and the other a program that can be run on a computer.