If you work with graphs and colourings in Mathematica, you may find the IGraph/M package interesting. It has had very competitive graph colouring functionality for many years now, and also provides most graph-related functionality from the old Combinatorica, but in a much more performant way.
Needs["IGraphM`"]
PetersenGraph[VertexSize -> Large, EdgeStyle -> Thickness[0.05]] //
IGVertexMap[ColorData[97], VertexStyle -> IGMinimumVertexColoring] //
IGEdgeMap[ColorData[99], EdgeStyle -> IGMinimumEdgeColoring]