A method of predicting or calculating a combustion state of an engine, the method comprising: an operating condition setting step of setting an operating condition of the engine; a highest temperature portion temperature calculation step of calculating a temperature of a highest temperature portion based on the operating condition, the highest temperature portion being a region in which a temperature is highest in a cylinder before combustion of the engine; and a combustion start timing calculation step of calculating a combustion start timing of the engine based on the temperature of the highest temperature portion; a lowest temperature portion temperature calculation step of calculating a temperature of a lowest temperature portion based on the operating condition and the combustion start timing, the lowest temperature portion being a region in which a temperature is lowest in the cylinder of the engine; and characterized by a combustion end timing calculation step of calculating a combustion end timing of the engine based on the temperature of the lowest temperature portion, wherein the lowest temperature portion temperature calculation step calculates a temperature of a wall surface layer portion (A13) based on state changes in a burned portion (A11) in which combustion has occurred, an unburned portion (A12) in which combustion has not yet occurred, and the wall surface layer portion (A13) located near a wall surface in the cylinder, and applies the temperature of the wall surface layer portion (A13) as the temperature of the lowest temperature portion, the burned portion (A11), the unburned portion (A12), and the wall surface layer portion (A13) constituting an inside of the engine or an inside of the cylinder of the engine. an operating condition setting step of setting an operating condition of the engine; a highest temperature portion temperature calculation step of calculating a temperature of a highest temperature portion based on the operating condition, the highest temperature portion being a region in which a temperature is highest in a cylinder before combustion of the engine; and a combustion start timing calculation step of calculating a combustion start timing of the engine based on the temperature of the highest temperature portion; a lowest temperature portion temperature calculation step of calculating a temperature of a lowest temperature portion based on the operating condition and the combustion start timing, the lowest temperature portion being a region in which a temperature is lowest in the cylinder of the engine; and characterized by a combustion end timing calculation step of calculating a combustion end timing of the engine based on the temperature of the lowest temperature portion, wherein the lowest temperature portion temperature calculation step calculates a temperature of a wall surface layer portion (A13) based on state changes in a burned portion (A11) in which combustion has occurred, an unburned portion (A12) in which combustion has not yet occurred, and the wall surface layer portion (A13) located near a wall surface in the cylinder, and applies the temperature of the wall surface layer portion (A13) as the temperature of the lowest temperature portion, the burned portion (A11), the unburned portion (A12), and the wall surface layer portion (A13) constituting an inside of the engine or an inside of the cylinder of the engine. <EOS>