An exact algorithm for the Partition Coloring Problem