Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes