A device and method of determining candidates to decode by receiving a message, selecting m, identifying m voltages in message near zero volts, generating binary version of message, generating candidates that are variations of the binary message by varying the m positions, multiplying a modified binary message by the parity check matrix of the message, generating a matrix of the rows of the parity check matrix corresponding to the m positions, determining a rank v of the matrix, eliminating rows that are not linearly independent, determining if the sixth step result is in a span of the ninth step result, if so then there are 2.sup.m-1-2.sup.m-v(m-1) candidates, where the candidates can multiply the seventh step result to get the sixth step result and candidates with odd weights more than one Hamming distance from the candidates, otherwise there are 2.sup.m-1 candidates having odd weight.Device for and method of identifying minimum candidate codewords for list decoder839714612/03/201325/03/20112013718York; Eric V.US Patent and Trademark OfficeGoogle Patent Searchpatentimages.storage.googleapis.com/US8397146B1/US08397146-20130312-D00000.pngUniquecandidatesparity check matrixsixth step resultmessageodd weightninth step resultmodified binary messageminimum candidate codewordsrowsdevice