An efficient graph coloring algorithm is proposed in this research paper that uses less number of colors for a graph coloring problem. The proposed algorithm is applicable for all types of graph. The algorithm works by dividing the vertices into two clusters i.e. non-visited type of clusters including the nodes that are not colored and visited type of clusters including the nodes that are already colored and finds maximum number of color that have been filled into visited nodes. An assumption is taken that k number of colors is already known and the colors are selected from the same k-colors.