  The $k$-th power of the adjacency matrix of a simple undirected graph
represents the number of walks with length $k$ between pairs of nodes. As a
walk where no node repeats, a path is a walk where each node is only visited
once. The set of paths constitutes a relatively small subset of all possible
walks. We introduce three types of walks, representing subsets of all possible
walks. Considered types of walks allow for deriving an analytic solution for
the number of paths of a certain length between node pairs in a matrix form.
Depending on the path length, different approaches possess the lowest
computational complexity. We also propose a recursive algorithm for determining
all paths in a graph, which can be generalised to directed (un)weighted
networks.
