We present a deterministic algorithm producing the number of
    $k$-colourings of a graph on $n$ vertices in time
    $2^nn^{O(1)}$.
    We also show that the chromatic number can be found by a 
    polynomial space algorithm running in time $O(2.2461^n)$.
    Finally, we present a family of polynomial space approximation
    algorithms that find a number between $\chi(G)$ and
    $(1+\epsilon)\chi(G)$ in time $O(1.2209^n+2.2461^{e^{-\epsilon}n})$.